Re[3]: Как изящнее реализовать банковское округление?
От: netch80 Украина http://netch80.dreamwidth.org/
Дата: 16.03.21 06:41
Оценка:
Здравствуйте, Marty, Вы писали:

M>Да х его знает, меня интересовали floor, ceil, trunc, math и банковское. Остальное решил запилить за кампанию — чтобы было


RfSP нужно для поддержки двойных и более округлений: каждое, кроме финального, делать через него.
Иначе, например, 1.499999 сначала округлится обычным RfE до 1.500, а потом до 2, хотя напрямую должно было быть до 1. Через RfSP тебе округлит до 1.499, а дальше, понятно, RfE до 1.

M>Спс, покурю как-нить на досуге. Буравчиковое решение со стек оверфлов тупо закодил и вроде работает. Пока доволен


Я не понял по коду, что именно ты там таки запилил, но ты проверил не на 0.5 случаи?
Первые два precisionFitTo с усечением(?) два подряд — нужны ли они?
В общем, пока все случаи не проверишь... я бы не утверждал, что работает.
Я так навскидку посмотрел:
x = 23.1
truncate(x) == 23
truncate(x)%2 == 1
в сумме 24, а нужно 23.
The God is real, unless declared integer.
Отредактировано 17.03.2021 10:32 netch80 . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.