Как получить значение после десятичного разделителя для заданного числа с плавающей запятой?
Number: 129.60
Expected result: 60
Как получить значение после десятичного разделителя для заданного числа с плавающей запятой?
Number: 129.60
Expected result: 60
FormatFloat
возвращает десятичное значение. Пожалуйста, уточните, что именно вы имеете в виду. Покажите код и вывод. Объясните, почему результат не соответствует вашим ожиданиям. 30.10.2012 FormatFloat
. Пожалуйста, не могли бы вы отредактировать вопрос, чтобы было понятно. 30.10.2012 Просто используйте функцию Frac
.
Например, Frac(3.14)
равно 0.14
. Конечно, как только вы избавились от целой части числа, вы можете использовать любой метод по вашему выбору, чтобы сделать из него строку, например FloatToStr
, FormatFloat
, Format
и т. д.
Если у вас есть число в string
и вы хотите получить результат также в string
, вы можете сделать это без преобразования в число. Если нет, см. Ответ Андреаса.
i := Pos( DecimalSeparator, value );
if i > 0 then
result := Copy( value, i + 1, Length( value ) - i )
else
result := '';
1.2e1
. 30.10.2012