Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   C++ Builder (https://www.clubdelphi.com/foros/forumdisplay.php?f=13)
-   -   ahora no me funciona..... (https://www.clubdelphi.com/foros/showthread.php?t=53430)

NEG1414 20-02-2008 19:20:18

ahora no me funciona.....
 
Buenas

Tengo una clase en la que declaro una variable de la forma

float Coste;

tengo un Archivo de texto donde tengo el valor 0.50


Mediante un metodo recupero el valor anterior del archivo de texto y lo convierto a numero de la forma

char Cost[6];

ifstream Archivo(ValorCoste.txt,ios::in);

Archivo.getline(Cost,sizeof(Cost),´\n´);

Coste = StrToFloat(Cost);



Y es Ahora cuando viene lo curioso del caso: Me ha funcionado correctamente durante mucho tiempo pero cual es mi sorpresa cuando
hoy vuelvo a ejecutar el programa y me da el siguiente error:

class EconvertError with message "0.50´is not a valid floating point value....


Nota: Sigo Trabajando en la clase pero segurisimo que no he tocado nada que tenga alguna relacion con dicha variable.
Alguna Idea Gracias

escafandra 20-02-2008 19:30:45

Revisa el contenido exacto de Cost tras leer tu archivo. es posible que tenga algún carácter de mas no numérico por posible corrupción de tu archivo. Revisa también esa línea del archivo, es posible que antes del retorno de línea (\n) tengas algo más que un número....


Saludos.

jachguate 20-02-2008 22:09:40

Es muy probable que también esto dependa de la configuración regional del equipo, aunque lo ignoro.

Pienso que es posible porque en algunas partes del mundo, se usa la coma como separador decimal, mientras en otras, el punto. Entonces, si el equipo está configurado para reconocer la coma, es normal que '0.50' no sea un número válido.

Hasta luego.

;)

NEG1414 22-02-2008 00:04:32

Efectivamente he hurgado en la configuracion regional y tenias razon la coma estaba predeterminada como separador decimal, fue cambiarla poe el punto y a funcionar de nuevo.

Este contratiempo me ha hecho pensar en que si el programa que estoy implementando una vez acabado se instala en un ordenador con la configuracion regional "mal" configurada no funcionara.......

Se puede solucionar este tipo de error a priori, osease que funcione independientemente de la configuracion regional de la maquina en la que se
instale.

Gracias

egostar 22-02-2008 00:14:05

Cita:

Empezado por NEG1414 (Mensaje 267743)
Efectivamente he hurgado en la configuracion regional y tenias razon la coma estaba predeterminada como separador decimal, fue cambiarla poe el punto y a funcionar de nuevo.

Este contratiempo me ha hecho pensar en que si el programa que estoy implementando una vez acabado se instala en un ordenador con la configuracion regional "mal" configurada no funcionara.......

Se puede solucionar este tipo de error a priori, osease que funcione independientemente de la configuracion regional de la maquina en la que se
instale.

Gracias

Código Delphi [-]
DecimalSeparator := '.';

Salud OS


La franja horaria es GMT +2. Ahora son las 10:36:52.

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