Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   Problema con float, decimales y conversión (https://www.clubdelphi.com/foros/showthread.php?t=57659)

waremovil 24-06-2008 14:03:11

Problema con float, decimales y conversión
 
Hola a todos,

de nuevo os consulto porque tengo un problema básico que sin embargo me está volviendo loco.

Tengo un label con una cantidad determinada, en este caso contiene una cifra "0.2"

necesito trabajar con esa cifra como si fuera numérica pero en la conversión hace una serie de tonterías que no logro entender

me lo convierte a 0,200000002980232

¿por qué razón? no entiendo como puede convertirme la cadena 0.2 a un número con tantos decimales

mi código es el siguiente:

DtoString = "0.2";
Descuento = DtoString.ToDouble();

también he probado con atof y me ocurre exactamente lo mismo

¿alguien tiene idea de donde está el problema?

gracias, un saludo

bismarck_sierra 24-06-2008 20:42:33

Hace mucho que no utilizo Builder, en Delphi pasa algo parecido, no se si exista el tipo de dato Currency en Builder para que declares de ese tipo a tu variable Descuento.

Saludos
Bismarck

escafandra 24-06-2008 22:16:18

Si, Builder si tiene el tipo Currency.

A mi no me pasa ese error.
Código:

AnsiString DtoString = "0,2"; // dependiendo del tipo de separador decimal definido.
double Descuento = DtoString.ToDouble();  // Resultado: 0.2
Descuento = atof("0.2");  //Al estilo C resultado 0.2


Saludos.

PD utilizo Builder 5


La franja horaria es GMT +2. Ahora son las 21:49:39.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi