-
Как работает эта функция???
Хочу просто вывести вещ.число с двумя знаками после запятой:
FloatToStrF(X, ffGeneral, 4, 2)
Перебрал разные варианты с Precision и Digits - получается какая-то длинная ерундень с E.
Help me please!
-
-
Напиши свою функцию. С этим и этими.
Вот алгоритм
1. Умножить вещественное число на 100 (сто).
2. Взять его целую часть и преобразовать в целое число.
3. Целое число преобразовать в строку.
4. В третью с конца позицию вставить десятичный разделитель.
5. ????????
6. PROFIT!!!
-
2 Belkin © (03.07.17 20:28)
> Хочу просто вывести вещ.число с двумя знаками после запятой:
Тогда используй формат ffFixed, а не ffGeneral.
-
-
Получается, я не могу при помощи стандартной FloatToStrF просто вывести 6,931878485 как 6,93? или 15,80395171818 как 15,80 ??
-
Почему это?
Result := FloatToStrF(Value, ffNumber, 18, 2);
-
dmk, спасибо за ответ! Почему 18? Почему ffNumber, а не ffFixed?
-
Потому что хелп - для лохОв
-
Работает через разложение в BCD строку, остальное банально нюансы
-
Удалено модератором
-
> Хочу просто вывести вещ.число с двумя знаками после запятой:
куда вывести? для дальнейших расчетов или просто на экран?
-
> Dimka Maslov © (03.07.17 22:24) [2]
> Напиши свою функцию. С этим и этими.
> Вот алгоритм
> 1. Умножить вещественное число на 100 (сто).
> 2. Взять его целую часть и преобразовать в целое число.
> 3. Целое число преобразовать в строку.
> 4. В третью с конца позицию вставить десятичный разделитель.
>
> 5. ????????
> 6. PROFIT!!!
1. Преобразуем число в строку
2. Находим вхождение "." в строке (пусть будет N)
3. Результат - исходная строка длиной N+2
На целый пункт короче !!!! И быстрее (наверное, не проверяла, лень)
-
> manaka © (04.07.17 19:39) [11]
> куда вывести? для дальнейших расчетов или просто на экран?
С округлением или без?
> Strelkin (04.07.17 11:50) [8]
> Потому что хелп - для лохОв
+1
-
> На целый пункт короче !!!
Мы же не ищем лёгких путей.