首页 > 解决方案 > 在 Rails 验证中浮动的最大数量是多少?

问题描述

我有以下验证:

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

我想知道在不损失精度的情况下浮点的最大值是多少。我知道这似乎是一个应该很容易找到答案的问题,但我没有找到它。

标签: ruby-on-railsvalidation

解决方案


根据文档(不在https://api.rubyonrails.org/页面中,而是在主代码中):

Kernel.Float通过尝试将其转换为浮点数(如果only_integer 为 false)或将其应用于正则表达式/\A[\+\-]?\d+\z/ (如果only_integer设置为)来验证指定属性的值是否为数字true

值的精度Kernel.Float保证高达 15 位。

您正在寻找的答案可能在这里:“ Kernel.Float 值的精度保证高达 15 位” - 因为没有最大数字,所以您可以使用任何您想要的,只要记住更大的数字会松动精确。


推荐阅读