Десятичный столбец Ruby on Rails - PullRequest
6 голосов
/ 24 июня 2010

Если вы укажете тип столбца ActiveRecord в десятичном виде, Rails вернет это значение базы данных в виде объекта BigDecimal в виде рубина.

Мой вопрос заключается в том, чтобы при работе с этими полями и выполнении с ними дополнительной математикивсегда используйте BigDecimal значения в моих вычислениях или значения с плавающей точкой нормально использовать.Я не знал, является ли хорошей практикой смешивать значения BigDecimal и значения с плавающей точкой в ​​одних и тех же вычислениях.

Смешанный пример: BigDecimal.new ('12 .43 ') / 4.2

Пример того же типа Пример: BigDecimal.new ('12 .43 ') / BigDecimal.new (' 4.2 ')

Причина, по которой я спрашиваю, заключается в том, что я немного стесняюсь использовать поплавки, потому что мне нужна десятичная точность.0,1 + 0,7 не будет равно 0,8 при использовании чисел с плавающей запятой.

1 Ответ

2 голосов
/ 24 июня 2010

Поскольку вы

... немного стесняетесь использовать поплавки ...

используйте BigDecimal.Работает нормально

...