Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.01.07;
Скачать: CL | DM;

Вниз

Округление числа   Найти похожие ветки 

 
vitv ©   (2006-12-18 10:06) [0]

Для хранения числа я использую Decimal(2,2). При подсчёте среднего значения число не округляется, т.е.

10+9+10=29/3=9,6666666666(на калькуляторе)
10+9+10=29/3=9,66(в программе)

Как лучше поступить в данной ситуации?


 
Steep ©   (2006-12-18 10:44) [1]

Round(29/3)


 
ЮЮ ©   (2006-12-18 10:52) [2]


> Для хранения числа я использую Decimal(2,2)


А я предпочитаю Double и им подобные.


 
VitV ©   (2006-12-18 10:58) [3]


> Steep ©   (18.12.06 10:44) [1]
>
> Round(29/3)

SELECT AVG(CENA) FROM


 
VitV ©   (2006-12-18 11:00) [4]


>
> > Для хранения числа я использую Decimal(2,2)
>
>
> А я предпочитаю Double и им подобные.
>

Почему?


 
ЮЮ ©   (2006-12-18 11:20) [5]

9,6666666666(на калькуляторе)

Он врет. там 6-рок должно быть гораздо больше

10+9+10=29/3=9,66(в программе)

Decimal(2,2) - по определеню, 2 знака после запятой
Почему?

Потому, что не знаю, как а программе использовать Decimal(2,2).
а Double проще простого:
var
 v: Double;

И если ей присвоишь 9.66, то и FloatToStr(v) так и вернёт 9.66, а если 9.666666, то 9.666666 :)
А Extended ещё, говорят лучше.


 
palva ©   (2006-12-18 12:04) [6]

И если ей присвоишь 9.66, то и FloatToStr(v) так и вернёт 9.66, а если 9.666666, то 9.666666 :)

А если 9.660000000000004, то вернет 9.66 - не порядок!{$APPTYPE CONSOLE}
uses SysUtils;
var
 v, t: Double;
begin
 v := 9.66;
 WriteLn(FloatToStr(v)); // 9.66
 t := 9.660000000000004;
 if v <> t Then
   WriteLn(FloatToStr(t)); // 9.66
end.


 
Anatoly Podgoretsky ©   (2006-12-18 12:30) [7]

> vitv  (18.12.2006 10:06:00)  [0]

Это как, два знака после запятой и всего два знака и ты при этом хочешь видеть 9,66, нестыковка однако.


 
VitV ©   (2006-12-18 14:14) [8]

Я хочу 9,67


 
Anatoly Podgoretsky ©   (2006-12-18 14:23) [9]

> VitV  (18.12.2006 14:14:08)  [8]

Посчитай количество цифр.


 
VitV ©   (2006-12-18 15:17) [10]


> Посчитай количество цифр.
>

т.е. Decimal(2,8), а отображать  Decimal(2,2).


 
Anatoly Podgoretsky ©   (2006-12-18 15:21) [11]

> VitV  (18.12.2006 15:17:10)  [10]

> Decimal(2,8),

Бред.
Обосновывать не надо?


 
vitv ©   (2006-12-19 14:19) [12]


> Бред.
> Обосновывать не надо?
>

Понял...



Страницы: 1 вся ветка

Текущий архив: 2007.01.07;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.044 c
2-1166356390
VadimSpb
2006-12-17 14:53
2007.01.07
Определение ID последней записи


2-1166263110
Dmytro
2006-12-16 12:58
2007.01.07
как получить доступ к protrcted свойствам извне?


2-1166518893
Slimer
2006-12-19 12:01
2007.01.07
Добавление в ячейку данных из TMemo


2-1166476180
boleg
2006-12-19 00:09
2007.01.07
Про двойной клик


15-1166191062
zdm
2006-12-15 16:57
2007.01.07
AMD vs Intel