我正在存储数字,例如
2,000
5,000
10,000
在具有“整数列”的数据库中。当我在应用程序上显示它们时,它们的显示就像
2.0
5.0
是否有一种列类型可以让它们“按原样”显示。我之前尝试过字符串,但字符串排序不好。
我正在存储数字,例如
2,000
5,000
10,000
在具有“整数列”的数据库中。当我在应用程序上显示它们时,它们的显示就像
2.0
5.0
是否有一种列类型可以让它们“按原样”显示。我之前尝试过字符串,但字符串排序不好。
在 Ruby 中,您还可以像这样输入整数
10_000
5_000
2_000
为了解决这个问题,我在数据库中输入了不带逗号的数字。然后数字出现在应用程序上,例如 10000.0,我曾经number_to_currency
更改数字以使其看起来像美元值
整数应该像整数一样出现。如果您尝试在内部插入“2,000”,rails 有效地在其上执行 to_i,这将是 2。(在 irb“2,000”.to_i 和“2_000”.to_i 上尝试此操作以查看 ruby 如何处理整数转换)。
现在,如果您插入 2000 并得到 2000.0,这对于整数列来说不是自然的或预期的。我怀疑该属性正在进行一些后期处理,或者您的数据库是十进制/浮点列。
Rails 控制台 =>
"2,000".to_i => 2
"2_000".to_i => 2000
helper.number_to_currency(2000) => "$2,000.00"