rails で画面表示時に小数部分の0を省略して表示する方法を備忘録として残しておく
環境
- ruby: 3.0.4
- rails: 6.1.0
実際のコード
number_to_human メソッドを使用する ※参考
※strip_insignidicant_zeros オプションのデフォルトが true のため
その他のヘルパーについてはNumberHelperを参照
# erb ファイルに記載する場合は ActiveSupport::NumberHelper. は省略可
ActiveSupport::NumberHelper.number_to_human(1.0)
#=> "1"
ActiveSupport::NumberHelper.number_to_human(1.5)
#=> "1.5"
ActiveSupport::NumberHelper.number_to_human(1.530)
#=> "1.53"
ActiveSupport::NumberHelper.number_to_human(1.5301)
#=> "1.53"
ActiveSupport::NumberHelper.number_to_human('1.0')
#=> "1"
ActiveSupport::NumberHelper.number_to_human('1.5')
#=> "1.5"
ActiveSupport::NumberHelper.number_to_human('1.530')
#=> "1.53"
ActiveSupport::NumberHelper.number_to_human('1.5301')
#=> "1.53"
ActiveSupport::NumberHelper.number_to_human(Date.parse('2023-01-12'))
#=> Thu, 12 Jan 2023
ActiveSupport::NumberHelper.number_to_human('2023-01-12')
#=> "2023-01-12"
ActiveSupport::NumberHelper.number_to_human('2023.01.12')
#=> "2023-01-12"
ActiveSupport::NumberHelper.number_to_human('2023.01.12')
#=> "2023.01.12"