PDA

Ver la Versión Completa : ayuda con strtofloat, ayuda punto flotante


TURING
28-04-2004, 06:44:30
desde un Tedit tomo, por ejemplo
0.3
entonces quiero usarla y uso el strtofloat
en una variable tipo double
hago
variable:=strtofloat(Tedit.Text);
:(pero me da error algo asì como q valor 0.3 no vàlido
pero si el Tedit.Text tiene un 1.2, o un 3.5 y asì, no da ninguùn error:mad:
que pasa?
por q con uno da error y con el otro no, si ambos son lo mismo. obviamente es el cero antes del punto lo qu parece estar causando problema , pero teòricamente no deberìa de ser...:(???
q hago, sugerencias, por favor ayuda!!!

que bueno q existen
Gracias!!!!:)

jachguate
28-04-2004, 07:02:51
Acabo de hacer una pequeña prueba en delphi 7, y me ha funcionado perfectamente... seguro que tu edit no tiene algo mas que el 0.3???

lo que hago es simplemente:


begin
result := StrToFloat(Edit1.Text);
result := result * 2;
Label1.Caption := FloatToStr(result);
end;


Ha funcionado para valores como


'0.3'
'.3'
' 0.3'
' .3'
'1'
'1.0'


Esto debiera funcionar exactamente igual en cualquier otra versión de delphi...

Hasta luego.

;)

tcp_ip_es
28-04-2004, 10:31:05
He probado el mismo código de Jachguate en Delphi 5 y funciona perfectamente, mirate la configuración regional en el panel de control de windows.... lo mismo viene de ahi.


Saludos, Tony

TURING
30-04-2004, 05:49:13
bueno amigos he probado todo lo q se me ha ocurrido, no probe lo de la configuracioòn, pero en fin, ya lo logré... como no encontraba el error volvi a instalar delphi... e igual continuaba con el error, luego me di cuenta de la variable globla
DecimalSeparator... o algo asì, que es un char y lo cambien por '.' y "bualá"(o como se escriba), ya funcionó...
gracias por toda la ayuda.:p

jachguate
30-04-2004, 06:09:02
Entonces el problema, inicialmente esta en la configuración regional de windows (como ya lo habia apuntado en su momento Tony), de donde el sistema toma el valor del DecimalSeparator. Si queres que tu sistema se ajuste al gusto (y necesidades o costumbres) del usuario final, será mejor que no cambies el valor de esta variable sino ajustes tu configuración regional. Si no queres que el programa se ajuste a la configuración de cada equipo, sino que tenga la propia, será mejor que también ajustes, por lo menos, el ThousandSeparator, que es el simbolo que se usará para formatear números con separador de miles (',' o '.').

Hasta luego.

;)

TURING
30-04-2004, 08:03:59
me parece que voy a seguir tu consejo, de cambiar la configuraciòn en wind...
gracias otra vez.
ud. como q se la pasan en la compu las 24 horas???:)
me gusta montones esta pàgina.:p felicidades, lo ùnico malo esq como tiene tantas cosas de cez en cuando tarda demaciado... tanto que cierro y la abro mucho despues cuando hay menos gente usando las compus de este lab.
como sea GRACIAS!!!!