ruby-on-rails Rails控制台以科学记数法显示值

t40tm48m  于 2022-12-15  发布在  Ruby
关注(0)|答案(2)|浏览(155)

我有一个名为Dish的模型,它有一个浮点类型的属性cost。我将precision设置为15,scale设置为2。问题出在rails控制台中,cost的值是以科学记数法显示的。
cost: 0.102e2
如何用小数显示?

cnh2zyt3

cnh2zyt31#

您可以使用to_f进行简单的格式化,但是对于更多的选项,您也可以使用NumberHelper模块,您可以从这个帮助器模块中使用许多格式进行格式化,这里是参考
从您的控制台:

include ActionView::Helpers::NumberHelper
number_with_precision(cost, precision: 2)
62lalag4

62lalag42#

若要防止ActiveRecord以科学记数法显示小数值,可以在定义模型属性时设置:float列类型。这将使ActiveRecord以浮点格式而不是科学记数法显示小数值。
例如,可以如下定义模型的属性:

class MyModel < ApplicationRecord
  attribute :my_decimal_value, :float
end

这将导致ActiveRecord以浮点格式而不是科学记数法显示my_decimal_value属性。

相关问题