🔢

小数点以下○桁で丸めるには?

属性名
round 関数
返り値
Float
逆引きNotionDB
関連するもの
Twitter でこんなネタがありました。そもそもドル表示にする前に丸めで苦労したとのこと。本件はそもそもドル表示したかったとのことで、すでに解決している内容ではあります。ただ、小数点以下○桁で丸めたいという要求はあると思うので紹介しておきます。
  1. まず最初にあったドル表示をやってみます。今回は Formula の話だったので、オリジナル数値をそのまま持ってきています。以前は Formula にフォーマットを指定するのは面倒でした。一度、数値プロパティに変換し、フォーマットを指定した後で、再度 Formula に戻すという裏技が必要でした。今は、Formula の結果が数値だとわかると Number format の設定ができるようになっていました。実際、US Dollar に設定すると確かに、$3.14 のように小数点以下二桁で丸められていました。
    1. prop("オリジナル数値")
      notion imagenotion image
  1. 丸めの関数としては round があります。Ruby などの言語では第二引数で何桁目を丸めるか指定できたりするのですが、Notion の Formula は小数点以下を丸めるだけでした。
    1. round(prop("オリジナル数値"))
  1. 小数点以下2桁で丸めたいなら、先に100倍して丸め処理を行い、その後に 100 で割ればいいです。小数点以下の桁数を変えたいときは 100 の数値を変えればよいです。
    1. round(prop("オリジナル数値") * 100) / 100
  1. この手順だと小数点以下の数値がなかったり、桁数が足りない場合の0は表示されません。どうしても表示したいという場合には、文字列にするしかありません。上で作った数値に 0.001 を足した上で、最後の文字を消すという手順です。ただ、文字列だと左寄せになってしまうので、カッコ悪いですね。ここまでやる必要はない気はします。
    1. replace(format(round(prop("オリジナル数値") * 100) / 100 + 0.001), ".$", "")
       
丸めテスト
Name
オリジナル数値
ドル表示
単にround
100倍してround後に100で割る
100倍してround後に100で割る (1)
123
123
123
123
123.00
3.141592653589793
3.141592653589793
3
3.14
3.14
1.5
1.5
2
1.5
1.50