Canitdad De Decimales


Objetivo: 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.

Perfil MP  
Objetivo: 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.

Perfil MP  
Objetivo: 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.

Perfil MP  
Objetivo: 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>"

Perfil MP  
Objetivo: Re: Canitdad De Decimales
Cogier tiene razón, el parámetro debe ser -2
Saludos.

Perfil MP  
Objetivo: 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.

Perfil MP  

Página 1 de 1


  
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
Puede descargar archivos
No puede publicar eventos en el calendario

   

Está utilizando la versión (Lo-Fi). Para ver la versión completa del foro, haga clic aquí.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Página generada en:: 0.5315s (PHP: -73% SQL: 173%)
Consultas SQL: 28 - Debug off - GZIP Activado