Информация об изменениях

Сообщение Re[2]: Как изящнее реализовать банковское округление? от 16.03.2021 18:43

Изменено 16.03.2021 19:04 netch80

Re[2]: Как изящнее реализовать банковское округление?
Здравствуйте, vmpire, Вы писали:

V>Я понимаю, что это раздел "алгоритмы", но ведь наверняка уже есть что-то готовое, зачем изобретать велосипед?

V>В .NET, например: Math.Round(amount, 1, MidpointRounding.ToEven)
V>Кстати, можно и его исходники посмотреть, если интересует алгоритм

Ну я дал ссылку на Berkeley Softfloat.
А вот в дотнете слишком завязано на особенности внутренней реализации Decimal и потому не переносится.
Re[2]: Как изящнее реализовать банковское округление?
Здравствуйте, vmpire, Вы писали:

V>Я понимаю, что это раздел "алгоритмы", но ведь наверняка уже есть что-то готовое, зачем изобретать велосипед?

V>В .NET, например: Math.Round(amount, 1, MidpointRounding.ToEven)
V>Кстати, можно и его исходники посмотреть, если интересует алгоритм

Ну я дал ссылку на Berkeley Softfloat.
А вот в дотнете слишком завязано на особенности внутренней реализации Decimal и потому напрямую не переносится. Но там по сути делают так же, как я описал: sticky bits собирают признак наличия значения свыше 0.5.