![]() |
![]() |
![]() |
![]() |
![]() |
FTP | ![]() |
![]() |
CCD | ![]() |
![]() |
Buscar | ![]() |
![]() |
Trucos | ![]() |
![]() |
Trabajo | ![]() |
![]() |
Foros | ![]() |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
![]() Buen dia, estoy haciendo un procedimiento almacenado donde tengo que transformar un valor que es string (varchar(100)) en un float. Aclaro que estoy usando Firebird 1.5
Ahora, este es el store:
El problema es que si le paso en valor_var un '0.21' me devuelve un 0.209999993443489 que ya sabemos que no es 0.21, igual ocurre con cualquier cosa que tenga decimales. tal vez cast no se la sentencia adecuada para tal transformación, o quizas falta algun parámetro, no se cual podria ser, para que esto no ocurriera. Bueno, gracias una vez mas.
__________________
Uno es responsable de lo que hace y de lo que omite hacer. |
#2
|
|||
|
|||
Hola.
El problema del float es que no puede representar cualquier número con exactitud, por eso te muestra el más aproximado que puede. Prueba con cast (valor_var as DOUBLE PRECISION) un saludo |
![]() |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
![]() |
|