Текущий архив: 2011.02.06;
Скачать: CL | DM;
ВнизОкругление дробных чисел Найти похожие ветки
← →
Кирей (2010-11-10 09:43) [0]Как округлить число например 1,444445 до 1,45? пробовал RoundEx, RoundTo, SimpleRoundTo, FloatToStrF, все функции округляют до 1,44, неужели строку разбирать?
← →
sniknik © (2010-11-10 09:51) [1]> 1,444445 до 1,45?
ни математическим ни бухгалтерским округлением здесь не пахнет... пахнет желанием странного.
← →
Кирей (2010-11-10 10:01) [2]А чему ж меня тогда в школе учили?
← →
sniknik © (2010-11-10 10:03) [3]глупостям всяким наверное, серьезно, вот покажи этот пример своему математику, и спроси почему не научил правильно.
← →
Jeer © (2010-11-10 10:30) [4]
> Как округлить число например 1,444445 до 1,45?
Если очень хочется странного, то
x := 1.444445;
s := Format("%.2f",[x+0.005])
Будет визуально округлять 1.4 <= x < 1.45
← →
RWolf © (2010-11-10 10:50) [5]
> Кирей (10.11.10 10:01) [2]
В школе учат округлять как раз до 1.44.
← →
12 © (2010-11-10 11:34) [6]
> Как округлить число например 1,444445 до 1,45?
округлить до 1,44445
округлить до 1,4445
округлить до 1,445
округлить до 1,45
← →
Дмитрий Белькевич (2010-11-10 12:24) [7]Как говорил наш физхимик, в своё время, вот из-за таких потом Чернобыли и взрываются. Говорил как раз по поводу округления.
← →
Nickolay (2010-11-11 08:02) [8]
> 12 © (10.11.10 11:34) [6]
>
> округлить до 1,44445
> округлить до 1,4445
> округлить до 1,445
> округлить до 1,45
Если отбрасываемая цифра - 5, то остающаяся младшая цифра должна быть приведена к ближайшей четной цифре. Например:
1,445 -> 1,44
1,435 -> 1,44
1,45 -> 1,4
1,35 -> 1,4
Это еще, говорят, древние греки придумали.
← →
sniknik © (2010-11-11 08:07) [9]> Это еще, говорят, древние греки придумали.
это называется бухгалтерское округление, минимизируем ошибку округления при составлении больших отчетов. (чем больше цифр складывается для суммы отчета, тем более действенно)
а древние греки, они что цену на рис поштучно считали?
← →
Nickolay (2010-11-11 08:16) [10]Про древних греков слышал, но точно не скажу - они или не они.
Да, а 9, конечно, превращаем в 0 и округляем с избытком:
1,495 -> 1,50
1,95 -> 2,0
А ошибка минимизируется, потому что четных и нечетных цифр одинаковое количество - по 5 штук. И если все они появляются равновероятно, то округления с избытком и недостатком гасят ошибки друг друга. В принципе, точно также можно было бы округлять и до ближайшей нечетной цифры, но в бухгалтерии, действительно, традиционно принято до четной.
← →
12 © (2010-11-11 09:08) [11]не скажу за древних, не знаком
не скажу за бухов, среди них знакомых у меня не более, чем древних греков
а в школе учили
> Если отбрасываемая цифра - 5
то +1 надо.
← →
И. Павел © (2010-11-11 09:14) [12]> [0] Кирей (10.11.10 09:43)
Кстати, если вам все же потребуется бухгалтерское округление, то используйте этот модуль: http://cc.embarcadero.com/Item/21909 , т.к. стандартное дельфийское округление может работать не так, как ожидается.
← →
Anatoly Podgoretsky © (2010-11-11 09:18) [13]> Nickolay (11.11.2010 08:02:08) [8]
Потому что у них были деньги.
← →
Anatoly Podgoretsky © (2010-11-11 09:22) [14]У нас бухгалтеры и налоговики не заморачиваются, как программа посчитала, так и правильно, и не волнует, что в Экселе другие результаты, кого волнуют полкопейки, когда на конвертации валюты погрешность вообще огромная.
← →
Nickolay (2010-11-11 09:41) [15]Правильно, а зато если вумный хакер будет эту неучитываемую полкопейку себе
сбрасывать, то будет приличные бабки колотить-заколачивать.
← →
Плохиш © (2010-11-11 11:54) [16]
> Nickolay (11.11.10 09:41) [15]
>
> Правильно, а зато если вумный хакер будет эту неучитываемую
> полкопейку себе
> сбрасывать, то будет приличные бабки колотить-заколачивать.
>
Были такие в истории, камера для хитропопого тоже была найдена.
← →
Dennis I. Komarov © (2010-11-11 14:09) [17]
> Nickolay (11.11.10 09:41) [15]
> Правильно, а зато если вумный хакер будет эту неучитываемую
> полкопейку себе
> сбрасывать, то будет приличные бабки колотить-заколачивать.
Сказки для непонимающих, потому как не вумный, ибо все там прозрачно...
← →
Anatoly Podgoretsky © (2010-11-11 14:23) [18]> Nickolay (11.11.2010 09:41:15) [15]
Сказки не рассказывай.
← →
Олег Крапривин (2010-11-11 19:53) [19]Мне один раз пришлось сталкнуться с подобной проблемой. Столбик из 60-ти(или около того) цифр. А сумма не сходится! На копейки правда, но программа не шла. Мне пришлось преобразовывать вещественные числа в строки, урезать их, а потом преобразовывать их обратно. Задача была сдана!
Если в Дельфи есть подобные функции, пожалуйста в студию, хотя это не функции Дельфи, а Паскаля(начиная от версии 3.0)
← →
Ой (2010-11-12 05:20) [20]Правильно! Долой математику!!!... ужас, куда катимся....
← →
Dennis I. Komarov © (2010-11-12 17:42) [21]
> Мне один раз пришлось сталкнуться с подобной проблемой.
> Столбик из 60-ти(или около того) цифр. А сумма не сходится!
> На копейки правда, но программа не шла. Мне пришлось преобразовывать
> вещественные числа в строки, урезать их, а потом преобразовывать
> их обратно. Задача была сдана!
Значит не так складывал, т.е. ошибка в программе. А ошибка из-за неправильного представления хранения чисел вещественного типа.
← →
Jeer © (2010-11-12 17:45) [22]
> Олег Крапривин (11.11.10 19:53) [19]
Надо было в уме складывать, потом бы просто вводил результат.
← →
Anatoly Podgoretsky © (2010-11-12 18:18) [23]> Jeer (12.11.2010 17:45:22) [22]
Профессиональное решение.
← →
Inovet © (2010-11-15 11:18) [24]> [19] Олег Крапривин (11.11.10 19:53)
> Если в Дельфи есть подобные функции, пожалуйста в студию
Не совсем в Делфи
> [12] И. Павел © (11.11.10 09:14)
> http://cc.embarcadero.com/Item/21909
и совсем не Делфи округляет "неправильно".
Страницы: 1 вся ветка
Текущий архив: 2011.02.06;
Скачать: CL | DM;
Память: 0.5 MB
Время: 0.003 c