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

Вниз

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

 
pavelnk ©   (2015-09-09 18:24) [0]

Просветите пожалуйста, вообще не понимаю - http://s013.radikal.ru/i322/1509/1b/08352d7dc99e.png

Т.е. Format("%1.2f",[14.14666666])=14.13 Почему? Это не похоже даже на математическое округление.


 
Rouse_ ©   (2015-09-09 19:19) [1]

http://rouse.drkb.ru/other.php#round


 
кгшзх ©   (2015-09-09 20:12) [2]

потому что глюк в неназванной версии делфи.
а вообще перед точкой в формате стоит количество разрядов всего, а не один


 
pavelnk ©   (2015-09-09 20:19) [3]

RAD 2010. Ничего себе глюк. Я думал это какой то хитрый алгоритм округления.


 
pavelnk ©   (2015-09-09 20:21) [4]

> Rouse_ ©   (09.09.15 19:19) [1]
Спасибо, посмотрю. Вообще это для меня открытие, что стандартные функции врут.


 
Rouse_ ©   (2015-09-09 20:40) [5]


> pavelnk ©   (09.09.15 20:21) [4]
> > Rouse_ ©   (09.09.15 19:19) [1]
> Спасибо, посмотрю. Вообще это для меня открытие, что стандартные
> функции врут.

На округлении - конечно врут, они же не знают что именно тебе нужно, поэтому дают нечно средне взвешенное.


 
Германн ©   (2015-09-10 01:01) [6]

Удалено модератором


 
pavelnk ©   (2015-09-10 05:56) [7]

Удалено модератором


 
Rouse_ ©   (2015-09-10 10:02) [8]


> Ну что значит не знают, есть же вполне конкретные правила
> округления, например Математическое округление. Я думал
> что если пишу Format("%1.2f") То второй знак после запятой
> увеличивается на единицу, например.

с какого это перепугу?


> Начали пользоваться бухгалтеры, выписали мне пол кило звездюлей

Ты сам ответил на свой вопрос


 
icWasya ©   (2015-09-10 10:53) [9]

Вообще то
procedure TForm3.Button1Click(Sender: TObject);
var
 ud273m,ud273mit,stud273m:Single;
begin

 ud273m:= 14.14666666;
 stud273m:=55;
 ud273mit:=  stud273m*ud273m;
 Edit1.Text:= Format("%1.2f",[ud273m])+"*"+Format("%1.2f",[stud273m])+"="+Format("%1.2f",[ud273mit]);
end;

получается
14,15*55,00=778,07

А вот если
procedure TForm3.Button1Click(Sender: TObject);
var
 ud273m,ud273mit,stud273m:Single;
begin

 ud273m:= 42.4/3;
 stud273m:=55;
 ud273mit:=  stud273m*ud273m;
 Edit1.Text:= Format("%1.2f",[ud273m])+"*"+Format("%1.2f",[stud273m])+"="+Format("%1.2f",[ud273mit]);
end;

то 14,13*55,00=777,33
Так что отладчик


 
SergP ©   (2015-09-10 20:51) [10]


>
> Начали пользоваться бухгалтеры, выписали мне пол кило
> звездюлей


в том, чем должны пользоваться бухгалтеры поменьше используй типы с плавающей точкой... для большинства "бухгалтерских чисел" лучше подходит currency.


 
имя   (2015-10-20 17:59) [11]

Удалено модератором



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

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

Наверх




Память: 0.49 MB
Время: 0.004 c
8-1243163026
Ferreira_II
2009-05-24 15:03
2017.07.16
Конвертирование аудиофайлов


2-1442377244
vegarulez
2015-09-16 07:20
2017.07.16
Twebbrowser+IIHTMLDocument2 парсинг + innerhtml ?


11-1265717864
tippa
2010-02-09 15:17
2017.07.16
runtime error 216


4-1223453904
Denol
2008-10-08 12:18
2017.07.16
Как получить список устройств, подключенных к компьютеру


15-1463492615
Crysis
2016-05-17 16:43
2017.07.16
Отловить завершение чужих потоков