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

Вниз

Почему функция неверно считает?   Найти похожие ветки 

 
Nik8. ©   (2005-01-14 08:15) [0]

Мне потребовалось посчитать сколько будет стоить игра на заданый период.

Имею только стоимость игры за 1 час.

Написал функцию.

{Входные аргументы  FTime - кол времени, FHSumm - Цена за 1 час}
function SubCalc(FTime :TDateTime; FHSumm :Double) :Double;
begin
 
  //ReplaceDate(FTime, 0);
  {Функция работает по такой схеме Высчитываем стоимость за 1 минуту(для этого делю стоимость за     1 час на 60)  и умножаем на    обшее количество минут}
  Result :=((FHSumm / 60) *  MinutesBetween(0, FTime) );
  //ShowMessage(FloatToStr(Result));
end;

Вызываю например так.

....
var
 FAllSumm :Double;
begin
{На примере нужно посчитать стоимость за 4 часа, стоимость 1 часа пускай будет 70 руб}
FAllSumm :=SubCalc(IncHour(0, 4), 70);
ShowMessage(FloatToStr(FAllSumm));
end;

В результате функция возврашает  "278,833333333333"  хотя должно быть "280.00" :(
Что делать? Кто виноват? Простой Калькулятор считает верно.

Безобразие! Борланд виноват однозначно ;)


 
Nik8. ©   (2005-01-14 08:27) [1]

Удалите дубль.


 
Digitman ©   (2005-01-14 09:39) [2]

у меня в Д7 твоя ф-ция возвращает ровно 280


 
Семен Сорокин ©   (2005-01-14 10:36) [3]

MinutesBetween(EncodeDateTime(2003,7,16,4,54,0,0),
EncodeDateTime(2003,7,16,4,55,0,0))

возвращает 0, а
MinutesBetween(EncodeDateTime(2003,7,16,15,54,0,0),
EncodeDateTime(2003,7,16,15,55,0,0))

возвращает 1.
см. этот баг в Borland News:
http://qc.borland.com/wc/wc.exe/details?reportid=4430


 
Nik8. ©   (2005-01-17 08:34) [4]

Понятно, значит я угадал виновного.

Большое спасибо за ответы!



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

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

Наверх




Память: 0.47 MB
Время: 0.024 c
1-1105889648
Exit
2005-01-16 18:34
2005.01.30
RichEdit


1-1105988802
KriNeedHelp
2005-01-17 22:06
2005.01.30
Mozhet li programka zapomnit otme4en li 4ekbox ili net??


3-1103973504
Step[B.M.]
2004-12-25 14:18
2005.01.30
Как с помощью SQL вывести 1 первый символ cтроки? испол. FireBird


4-1102595459
serg128
2004-12-09 15:30
2005.01.30
Как на WinAPI переименовать файл?


11-1087284544
DmitryS
2004-06-15 11:29
2005.01.30
KOL & InterBase