Какое максимальное число для проверки с плавающей точкой на Rails? - PullRequest
2 голосов
/ 13 марта 2020

У меня есть следующая проверка:

class Metrics
  validates :verbs_count, allow_nil: true, numericality: { greater_than_or_equal_to: 1, less_than_or_equal_to: ? }
end

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

1 Ответ

5 голосов
/ 13 марта 2020

Согласно документам (которые находятся не на https://api.rubyonrails.org/ страницах, а в коде на главной странице):

Проверяет, является ли значение указанного атрибута является цифрой c, пытаясь преобразовать его в число с плавающей запятой с помощью Kernel.Float (если only_integer false) или применяя его к регулярному выражению /\A[\+\-]?\d+\z/ (если only_integer установлено в true ).

Точность Kernel.Float значений гарантируется до 15 цифр.

Ответ, который вы ищете, может быть здесь: " Точность Значения Kernel.Float гарантированы до 15 цифр"- поскольку не существует максимального числа, вы можете использовать все, что захотите, просто имея в виду, что большие числа потеряют точность.

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