Hola noelr.
Cita:
gracias a todos por sus respuestas, pero me surge otra duda que pasara si ejecuto mi aplicación en una maquina que tenga una configuración diferente?
|
Podes evaluar la configuración del separador decimal y luego hacer la conversión:
Código Delphi
[-]
function StrToFloatDSep(Value: string): Double;
begin
if(DecimalSeparator = '.') and (Pos(',',Value) > 0) then
Value[Pos(',',Value)]:= '.';
if(DecimalSeparator = ',') and (Pos('.',Value) > 0) then
Value[Pos('.',Value)]:= ',';
Result:= StrToFloat(Value);
end;
O del mismo modo con la función StringReplace
Código Delphi
[-]
function StrToFloatDSep(Value: string): Double;
begin
if(DecimalSeparator = '.') and (Pos(',',Value) > 0) then
Value:= StringReplace(Value,',','.',[]);
if(DecimalSeparator = ',') and (Pos('.',Value) > 0) then
Value:= StringReplace(Value,'.',',',[]);
Result:= StrToFloat(Value);
end;
Saludos.