![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Округление чисел [D6, XP]
dmdel © (2006-11-01 12:45:00)Здраствуйте, уважаемые мастера.
Нужно округлить число, например, g=123,1233333333 (g:real) до второго знака после запятой. Как это сделать?
dmdel (2006-11-01 16:36:00) [1]
> dmdel © (01.11.06 16:11) [7]
Разобрался. Все нормально считает, сам ступил
dmdel (2006-11-01 16:25:00) [2]
> Anatoly Podgoretsky © (01.11.06 16:17) [9]
согласен, использовал WATCHES
Anatoly Podgoretsky (2006-11-01 16:17:00) [3]> dmdel (01.11.2006 16:11:07) [7]
Мне кажется, что это вообще не откомпилируется
KilkennyCat (2006-11-01 16:13:00) [4]> [6] dmdel © (01.11.06 16:06)
http://ru.wikipedia.org/wiki/%D0%9E%D0%BA%D1%80%D1%83%D0%B3%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5#.D0.92.D0.B8.D0.B4.D1.8B_.D0.BE.D0.BA.D1.80.D1.83.D0.B3.D0.BB.D0.B5.D0.BD.D0.B8.D1.8F
dmdel (2006-11-01 16:11:00) [5]Сейчас эаметил интересную вещь
var
g:real;
begin
g:=2\1;
end;
В результате получаем
g=2.6360704913e-308
по какому механизму все это считается?
dmdel (2006-11-01 16:06:00) [6]
> KilkennyCat © (01.11.06 13:31) [5]
А какие возможны варианты?
KilkennyCat (2006-11-01 13:31:00) [7]Кстати, автор совершенно не уточнил вариант округления. А их несколько. И результат от варианта зависит.
Anatoly Podgoretsky (2006-11-01 13:05:00) [8]> dmdel (01.11.2006 12:45:00) [0]
Вообще то там будет храниться число от нуля до чуть менее 1, с количеством
знаков после запятой в 53 или около того, в зависимости от точного типа, но
никогда 123,12. Все числа автоматически нормализуются к диапазону 0..1^N и
не все числа можно представить точно, я например не уверен, что можно
поместить в эту переменную именно 123,12, вероятнее всего будет что то
близкое к этому.
Anatoly Podgoretsky (2006-11-01 13:02:00) [9]> DrPass (01.11.2006 12:46:01) [1]
И думаешь в переменно g будет лежать 123,12
Real между прочим число с плавающей запятой в 6 или 8 байт. Число с
плавающей запятой не позволяет указывать количество знаков после запятой.
Или надеешься на удачу, вдруг получится?
dmdel (2006-11-01 12:54:00) [10]
> DrPass © (01.11.06 12:46) [1]
Спасибо
DrPass (2006-11-01 12:46:00) [11]Функция RoundTo