[SOLUCIONADO] Resultado inesperado - Versión para impresión +- Comunidad Gambas-es (https://gambas-es.org) +-- Foro: Gambas (https://gambas-es.org/forum-3.html) +--- Foro: General (https://gambas-es.org/forum-4.html) +--- Tema: [SOLUCIONADO] Resultado inesperado (/thread-128.html) |
Resultado inesperado - gambafeliz - 07-10-2020 Tengo un calculo con float y me devuelve un resultado inesperado. Lo voy a intentar explicar pero no se como poner un ejemplo, aun así voy a dar los datos por si se os ocurre algo. Describo: Variable fSaldo es un float y se forma así, fSaldo = CFloat(sSaldo), sSaldo es un String con valor "707,04" y este es el calculo: fTransferencias = fSaldo + (fSuma) + (-1*fSaldoMesSiguiente) 'explico Float = Float + (Float) + (1*(Float) fTransferencias = 707,04 + (-103,89) + (-1*603,15) ' esto me devuelve 1,13686837721616E-13 pero en realidad es 0 Por favor, ¿alguien me dice por que me devuelve 1,13686837721616E-13 en vez de 0? Gracias. RE: Resultado inesperado - jsbsan - 07-10-2020 Gambafeliz: Es un tema de conversión interna del ordenador (de operar en binario). El número 1,13686837721616E-13, es 0,00000000001136868377216616... osea 0.00 € Lo que tienes que hacer es redondear a 2 decimales, (supongo que estas usando euros, y te va a interesar los céntimos). algo asi como: ftransferencias= round( 707,04 + (-103,89) + (-1*603,15) ,-2) RE: Resultado inesperado - gambafeliz - 07-10-2020 Pues sí tienes toda la razón, pero toda toda Mira sin conocerte ni na, pero que guapo eres, que mariconada con perdón Gracias. |