Главная страница
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.057 c
2-1166449505
apak
2006-12-18 16:45
2007.01.07
Синхронное листание ListBox


15-1166412168
Slider007
2006-12-18 06:22
2007.01.07
С днем рождения ! 18 декабря


8-1147856391
TRyaSS
2006-05-17 12:59
2007.01.07
Алгоритм закрашивания невыпуклого полигона?


10-1127672414
френк
2005-09-25 22:20
2007.01.07
пара вопросов по COM


15-1166482639
Pasc
2006-12-19 01:57
2007.01.07
Кто пользовался MS Visual Studio ?