Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 28-12-2020
juggern juggern is offline
Miembro
 
Registrado: jun 2020
Posts: 79
Poder: 4
juggern Va por buen camino
String to Float

Buenos días chicos,

Felices fiestas a todos!

Veréis, tengo un problema que no consigo ver y seguro que es una chorrada.

Estoy ahora mismo trabajando con Delphi 2010.
Tengo una variable string que es por ejemplo 6,99, yo esta variable la quiero guardar en otra variable double, pero me guarda siempre un 0

Código:
var
  texto : string;
  cantidad: double;

begin
  texto:= '6,99';
  cantidad:= StrToFloat(texto);
end.
Es un trozo muy simple, pero si voy haciendo el seguimiento y texto lleva bien 6,99 pero la variable cantidad, siempre me guarda un 0.

He probado a insertar directamente el 6,99 en cantidad, pero entonces la depuración se salta esa línea, como si no fuera válida.

Código:
var
  texto : string;
  cantidad: double;

begin
  texto:= '6,99';
  cantidad:= 6,99;
  cantidad:= StrToFloat(texto);
end.
He comprobado y el signo decimal es correcto, es la coma.

No se que se me está pasando, será que llevo mucho seguido mirando código, no se.

Cualquier ayuda os estaría muy agradecido.

Un saludo
Responder Con Cita
  #2  
Antiguo 28-12-2020
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is online now
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.062
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
¿Y no muestra ningún error?


Responder Con Cita
  #3  
Antiguo 28-12-2020
juggern juggern is offline
Miembro
 
Registrado: jun 2020
Posts: 79
Poder: 4
juggern Va por buen camino
No, ninguno, simplemente hago un seguimiento de la variable y se queda con valor 0.

Y en el segundo caso, cuando intento directamente asignar el 6,99 a la variable, en modo depuración paso a paso, se salta esa línea.
Responder Con Cita
  #4  
Antiguo 28-12-2020
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is online now
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.062
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Es que lo que cuentas no puede ser.

Crea un proyecto nuevo, limpio y prueba.
Antes reinicia el ordenador
Responder Con Cita
  #5  
Antiguo 28-12-2020
juggern juggern is offline
Miembro
 
Registrado: jun 2020
Posts: 79
Poder: 4
juggern Va por buen camino
Ok, seguiré avanzando el proyecto y cuando reinicie probaré otra vez a ver, porque no lo entiendo, tengo otra parte del proyecto donde estoy recuperando del ini un valor y lo guardo en una variable double usando strtofloat y ahí me lo está guardando bien.

Seguramente sea como dices y algo haya quedado mal.

En cuanto reinicie y pruebe otra vez os comento que tal.

Gracias!
Responder Con Cita
  #6  
Antiguo 28-12-2020
lucho6007 lucho6007 is offline
Miembro
 
Registrado: ene 2009
Ubicación: Junín, pcia de BsAs, Argentina
Posts: 74
Poder: 16
lucho6007 Va por buen camino
Asegurate de probar con la variable seteándola como '6,99' y como '6.99'. StrToFloat toma la configuración de Windows, por lo tanto, si tenés configurado el separador de decimales como '.', entonces '6,99' devolverá un error. Habitualmente se configura la coma ',' como separador de decimales y el punto '.' como separador de miles. Al menos en Argentina (país donde resido) es así.


Saludos
Responder Con Cita
  #7  
Antiguo 30-12-2020
juggern juggern is offline
Miembro
 
Registrado: jun 2020
Posts: 79
Poder: 4
juggern Va por buen camino
Si si, eso ya lo había probado, con la coma me da error, lo normal.

He probado en un proyecto limpio y funciona perfectamente, no lo entiendo, dentro del proyecto que estoy modificando no funciona pero fuera si.
Responder Con Cita
  #8  
Antiguo 30-12-2020
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.474
Poder: 21
newtron Va camino a la fama
¿No sería que si no usas la variable posteriormente no se ve bien el valor en el depurador? Esas cosas pasan.


Saludos
__________________
Be water my friend.
Responder Con Cita
  #9  
Antiguo 30-12-2020
juggern juggern is offline
Miembro
 
Registrado: jun 2020
Posts: 79
Poder: 4
juggern Va por buen camino
No porque si que la uso posteriormente para cálculos, pero claro, como coge 0, no me vale.

Voy a tratar de pasarlo todo a un proyecto nuevo a ver.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
pasar de float a formato string para mostrar en edit gonza_619 Varios 3 06-12-2010 21:35:09
convertir edit de string a float Kamael OOP 1 11-08-2007 03:33:23
Como Convertir un dato Integer ó Float a String en FireBird???? AGAG4 Firebird e Interbase 8 04-12-2004 02:59:47
Pasar de string a float joanajj Varios 3 04-11-2004 20:29:30
de float a string davidgaldo Varios 1 18-05-2004 15:41:26


La franja horaria es GMT +2. Ahora son las 12:09:37.


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
Copyright 1996-2007 Club Delphi