Portal    Foro    Buscar    FAQ    Registrarse    Conectarse

Canitdad De Decimales

Canitdad De Decimales
Artículo
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 usuario Enviar mensaje privado  
calcena [ Viernes, 03 Enero 2020, 10:28 ]
 


Canitdad De Decimales
Comentarios
Responder citando    Descargar mensaje  
Mensaje Re: Canitdad De Decimales 
 
calcena escribió: [Ver mensaje]
...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 usuario Enviar mensaje privado  
tincho [ Viernes, 03 Enero 2020, 12:30 ]
Responder citando    Descargar mensaje  
Mensaje Re: Canitdad De Decimales 
 
tincho escribió: [Ver mensaje]
calcena escribió: [Ver mensaje]
...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 usuario Enviar mensaje privado  
calcena [ Viernes, 03 Enero 2020, 14:20 ]
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 usuario Enviar mensaje privado  
cogier [ Viernes, 03 Enero 2020, 17:47 ]
Responder citando    Descargar mensaje  
Mensaje Re: Canitdad De Decimales 
 
Cogier tiene razón, el parámetro debe ser  -2
Saludos.



 
tincho - Ver perfil del usuario Enviar mensaje privado  
tincho [ Viernes, 03 Enero 2020, 18:01 ]
Responder citando    Descargar mensaje  
Mensaje Re: Canitdad De Decimales 
 
cogier escribió: [Ver mensaje]
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 usuario Enviar mensaje privado  
calcena [ Viernes, 03 Enero 2020, 20:07 ]
Mostrar mensajes anteriores:    
 
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


 



 

cron