Ver Mensaje Individual
  #2  
Antiguo 03-05-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola noelr.

Ese problema se ocasiona por la configuración regional del S.O. Nosotros usamos la coma como separador decimal mientras que los sajones el punto, por lo que seguramente tengas definido a la coma como símbolo decimal en Configuración regional y de idioma (panel de control).

Te propongo dos soluciones:
1)
Código Delphi [-]
var
  s: string;
  f: Single;
begin 
  s:= '12.3';
  DecimalSeparator:= '.'; // separador decimal ahora es '.'
  f:= StrToFloat(s);      // hacer la conversión
  DecimalSeparator:= ','; // restauramos separador decimal
  ...

2)
Código Delphi [-]
var
  s: string;
  f: Single;
begin
  s:= '12.3';
  s[Pos('.',s)]:= ',';  // encontrar punto, reemplazarlo por coma
  f:= StrToFloat(s);    // hacer la conversión
  s[Pos(',',s)]:= '.';  // restaurar cadena (se puede omitir si es innecesario)
  ...

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 03-05-2012 a las 07:37:28. Razón: tabular comentarios
Responder Con Cita