![]() |
Подскажите, как получить, или установить разделитель десятичных дробей из проги, чтоб StrToFloat и прочее такое работало.
Borland Delphi 6.0 + Windows 2000 Server |
MySeparator:Char='.'
SaveSeparator:char SaveSeparator:=DecimalSeparator DecimalSeparator:=MySeparator ....... DecimalSeparator:=SaveSaparator |
вообще говоря, для этих целей есть trystrtofloat() - по крайней мере, в delphi7.
Еще есть val() - возвращает номер неправильного символа в строке, которая предположительно является числом. Если известно что строка гарантировано является числом, то я бы сделал так. В одной системе может быть установлен один разделитель, в другой - другой, и это либо точка, либо запятая. Можно заменить точку и запятую на DecimalSeparator - это функция возвращает разделитель в системе, т.е. какой бы ни был разделитель в системе, он заменит точку или запятую. float1:=strtofloat(stringreplace(stringreplace(edit1.text,'.',decimalseparator,[]),',',decimalseparator,[])); |
Время: 18:00. |
Время: 18:00.
© OSzone.net 2001-