Неправильно работает функция StrToFloat

При использовании функции strtofloat(‘1.38’) выскакивала ошибка «‘1.38’ is not valid float».

Данная ошибка возникает по причине того, что в Russian settings считаю разделителем дроби «,».

Решается это следующим кодом:

DecimalSeparator := ‘.’;

StrToFloat(CurRow.Preis);

Если вам необходима универсальная функция независящая от разделителя дроби используем следующий код:

if (Pos('.', CurRow.Preis) > 0)then
DecimalSeparator := '.';
else
DecimalSeparator := ',';
StrToFloat(CurRow.Preis);

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *