DELPHI DECIMALSEPARATOR НЕ РАБОТАЕТ
Часто программисты Delphi сталкиваются с проблемой неправильного отображения разделителя целой и дробной части числа при использовании функции FloatToStr
. Обычно данная проблема связана с некорректным установлением разделителя дробной части. В Delphi для этого используется глобальная переменная DecimalSeparator
.
По умолчанию для разделения дробной части используется символ запятой. Если у вас в операционной системе установлен другой разделитель дробной части, например точка, то для корректного отображения необходимо изменить значение DecimalSeparator
на точку:
DecimalSeparator := '.';
Однако иногда задание значения глобальной переменной DecimalSeparator
не помогает решить проблему отображения дробных чисел. В таком случае можно воспользоваться перегруженной версией функции FloatToStr()
, в которой можно задать желаемый разделитель дробной части:
FloatToStr(12.34, FormatSettings);
В данном примере используется набор настроек FormatSettings
, который позволяет установить любой нужный разделитель дробной части, не зависимо от значения глобальной переменной. Настройки FormatSettings.DecimalSeparator := '.';
устанавливают точку в качестве разделителя дробной части.
CSS : Getting invalid style for any type of decimal separator in input type=“numberÃ
Android : How to change the decimal separator of DecimalFormat from comma to dot/point?
R : How to read in numbers with a comma as decimal separator?
C# : Detect decimal separator
C# : Best way to convert string to decimal separator \
R : How to set ',' as decimal separator with R
SQL : decimal separator oracle
SQL : How to format number with \
C# : delphi-hlp.ruse() input decimal separator different than system decimal separator