我有一个名为Dish的模型,它有一个浮点类型的属性cost。我将precision设置为15,scale设置为2。问题出在rails控制台中,cost的值是以科学记数法显示的。cost: 0.102e2如何用小数显示?
cost: 0.102e2
cnh2zyt31#
您可以使用to_f进行简单的格式化,但是对于更多的选项,您也可以使用NumberHelper模块,您可以从这个帮助器模块中使用许多格式进行格式化,这里是参考从您的控制台:
include ActionView::Helpers::NumberHelper number_with_precision(cost, precision: 2)
62lalag42#
若要防止ActiveRecord以科学记数法显示小数值,可以在定义模型属性时设置:float列类型。这将使ActiveRecord以浮点格式而不是科学记数法显示小数值。例如,可以如下定义模型的属性:
:float
class MyModel < ApplicationRecord attribute :my_decimal_value, :float end
这将导致ActiveRecord以浮点格式而不是科学记数法显示my_decimal_value属性。
my_decimal_value
2条答案
按热度按时间cnh2zyt31#
您可以使用to_f进行简单的格式化,但是对于更多的选项,您也可以使用NumberHelper模块,您可以从这个帮助器模块中使用许多格式进行格式化,这里是参考
从您的控制台:
62lalag42#
若要防止ActiveRecord以科学记数法显示小数值,可以在定义模型属性时设置
:float
列类型。这将使ActiveRecord以浮点格式而不是科学记数法显示小数值。例如,可以如下定义模型的属性:
这将导致ActiveRecord以浮点格式而不是科学记数法显示
my_decimal_value
属性。