Изменение поведения числа с плавающей запятой в Sprintf с Ruby 2,3 на 2,4 - PullRequest
0 голосов
/ 10 марта 2020

С Ruby 2.3.7,

'%.2g' % 1.05

возвращает "1.1"

Но с Ruby 2.4.0

'%.2g' % 1.05

возвращает "1.0 "

Почему это поведение отличается? Спасибо

Ответы [ 2 ]

2 голосов
/ 10 марта 2020

В Ruby 2.4 стратегия по умолчанию Float#round была изменена на округление по Гауссу .

0 голосов
/ 10 марта 2020

"Это была ранняя попытка Nobu обрабатывать случаи, когда числа с плавающей запятой округлялись непоследовательно с Kernel # sprintf в ruby -2.3.3"

https://blog.heroku.com/ruby-2-4-features-hashes-integers-rounding#actual -rounding-changes

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...