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"