Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2017.07.16;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.46 MB
Время: 0.001 c
15-1463758069
Empleado
2016-05-20 18:27
2017.07.16
Получение данных о папке без FindFirst..FindNext


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


2-1445341467
lewka
2015-10-20 14:44
2017.07.16
Бездействие программы


15-1463907824
Jeer
2016-05-22 12:03
2017.07.16
Питерцы - победители в чм по программированию.


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





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский