Portal    Foro    Buscar    FAQ    Registrarse    Conectarse


Publicar nuevo tema  Responder al tema 
Página 1 de 1
 
 
Canitdad De Decimales
Autor Mensaje
Responder citando   Descargar mensaje  
Mensaje Canitdad De Decimales 
 
Buenos días,
después de buscar por el foro un tema concreto de la función Round no acabo de que me funcione.
El tema es el siguiente, realizo un Round para que me traiga dos decimales Round(string , 2) he probado Round(cFloat(string),2) ....
pero nada no consigo sacar dos decimales de un campo string.

Saludos.
 



 
calcena - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Canitdad De Decimales 
 
calcena escribió:  
...El tema es el siguiente, realizo un Round para que me traiga dos decimales Round(string , 2) he probado Round(cFloat(string),2) ....
pero nada no consigo sacar dos decimales de un campo string...

¿Que string exactamente? Te lo pregunto porque dependiendo del sistema cuando usas coma o punto gambas no se comporta igual.
Te recomiendo que hagas la prueba reemplazando en el string la coma por punto o viceversa antes de convertir el string en float, a ver que sucede.
De todas maneras me parece que la manera correcta seria:
      If InStr(str, ",") > 0 Then
        str = Replace(str, ",", ".") ' Probar el caso inverso si es que este no funciona
      Endif
      flo = Round(CFloat(str), 2)
 

Saludos.
 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Canitdad De Decimales 
 
tincho escribió:  
calcena escribió:  
...El tema es el siguiente, realizo un Round para que me traiga dos decimales Round(string , 2) he probado Round(cFloat(string),2) ....
pero nada no consigo sacar dos decimales de un campo string...

¿Que string exactamente? Te lo pregunto porque dependiendo del sistema cuando usas coma o punto gambas no se comporta igual.
Te recomiendo que hagas la prueba reemplazando en el string la coma por punto o viceversa antes de convertir el string en float, a ver que sucede.
De todas maneras me parece que la manera correcta seria:
      If InStr(str, ",") > 0 Then
        str = Replace(str, ",", ".") ' Probar el caso inverso si es que este no funciona
      Endif
      flo = Round(CFloat(str), 2)
 

Saludos.


Buenas algo parecido es lo que tengo te comento:
  totalSaldo = totIngresos - totGastos ' Provienene de DB viene con [ . ]
  totalSaldo = CFloat(totalSaldo) ' Conversión a Float
  sBody &= "<tr><td class='total' colspan='3'>" & Round(totalSaldo, 2) & "</td></tr>"
 


en la línea html donde traigo el redondeo me trae 100 cuando debería ser 96.93, creo que es algo en la funcion Round que me está redondeando al alza pero muy extraño.

Saludos y gracias.
 



 
calcena - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Canitdad De Decimales 
 
Citar:
en la línea html donde traigo el redondeo me trae 100 cuando debería ser 96.93, creo que es algo en la funcion Round que me está redondeando al alza pero muy extraño.


sBody &= "<tr><td class='total' colspan='3'>" & Round(totalSaldo, 2) & "</td></tr>"

Cambie el código de arriba por el de abajo.
sBody &= "<tr><td class='total' colspan='3'>" & Round(totalSaldo, -2) & "</td></tr>"

 



 
cogier - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Canitdad De Decimales 
 
Cogier tiene razón, el parámetro debe ser  -2
Saludos.
 



 
tincho - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Responder citando   Descargar mensaje  
Mensaje Re: Canitdad De Decimales 
 
cogier escribió:  
Citar:
en la línea html donde traigo el redondeo me trae 100 cuando debería ser 96.93, creo que es algo en la funcion Round que me está redondeando al alza pero muy extraño.


sBody &= "<tr><td class='total' colspan='3'>" & Round(totalSaldo, 2) & "</td></tr>"

Cambie el código de arriba por el de abajo.
sBody &= "<tr><td class='total' colspan='3'>" & Round(totalSaldo, -2) & "</td></tr>"



Efectivamente!! fantástico, ahora sale como toca, gracias a los dos por vuestros acertados comentarios.
 



 
calcena - Ver perfil del usuarioEnviar mensaje privado 
Volver arribaPágina inferior
Mostrar mensajes anteriores:    
 
Ocultar¡Este tema fue útil?

 

Elegir valoración:                       

Media de valoración Valoración mínima Valoración máxima Número de valoraciones
0.00 0 0 0
 
OcultarTemas parecidos
Tema Autor Foro Respuestas último mensaje
No hay nuevos mensajes Decimales tonixs Bases de Datos 2 Sabado, 05 May 2012, 19:14 Ver último mensaje
tonixs
No hay nuevos mensajes Float De 8 Decimales? CanihoJR General 1 Miercoles, 25 Abril 2018, 16:11 Ver último mensaje
razaAztk
No hay nuevos mensajes Redondeo Y Decimales Shell General 3 Sabado, 15 Junio 2013, 18:53 Ver último mensaje
shordi
No hay nuevos mensajes Precisión De Los Decimales Shell General 1 Domingo, 13 Julio 2014, 21:32 Ver último mensaje
jsbsan
 

Publicar nuevo tema  Responder al tema  Página 1 de 1
 

Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado
Usuarios registrados conectados: Ninguno


 
Lista de permisos
No puede crear mensajes
No puede responder temas
No puede editar sus mensajes
No puede borrar sus mensajes
No puede votar en encuestas
No puede adjuntar archivos
No puede descargar archivos
No puede publicar eventos en el calendario