はじめに
hkob の雑記録の第297回目は、Notion Formula に新しく追加された formatNumber と splice について解説します。
formatNumber
formatNumber は数値を文字列に変換する関数です。逆引き Formula 2.0 の関数のマニュアルはこちらに用意しました。
関数形式の記述は formatNumber(value, format?, precision?) 、メソッド形式の記述は value.formatNumber(format?, precision?) となります。
関数の説明には以下のように書かれています。
テキストとしてフォーマットされた数値を返します。
フォーマット引数には、「commas」(デフォルト)、「percent」、「humanize」、「bytes_binary」、「bytes_decimal」、または通貨コード(以下を参照)のいずれかを指定できます。
オプションで、プレシジョン引数で表示する小数点以下の桁数(0〜12)を指定します。指定されていない場合、すべての有効数字が小数点以下12桁まで表示されます。
サポートされている通貨コード:「usd」、「aud」、「cad」、「sgd」、「eur」、「gbp」、「jpy」、「rub」、「inr」、「krw」、「cny」、「brl」、「try」、「idr」、「chf」、「hkd」、「nzd」、「sek」、「nok」、「mxn」、「zar」、「twd」、「dkk」、「pln」、「thb」、「huf」、「czk」、「ils」、「clp」、「php」、「aed」、「cop」、「sar」、「myr」、「ron」、「ars」、「uyu」、「pen」。
format? を省略した時には commas となります。また、precision は小数点以下の桁数を示します。上記のマニュアルにいくつかのパターンを試してみました。

- commas : 整数部分を 3桁ごとに「,」で区切られます。
- humanize: 人間が読める形の表記にします。日本語環境では、万、億、兆などの表記になります。
- jpy, usd など: 通貨でフォーマットされます。jpy は yen でもよく、usd は dollar でも動作しました。さすがです。なお、日本円の場合には小数点以下はあり得ないので、precision があっても無視されます。
- bytes_binary: 2の10乗ベースで KiB, MiB, GiB, TiB などの表記になります。なお、bytes は bytes_binary の別名です。
- bytes_decimal: 10の3乗ベースで KB, MB, GB, TB などの表記になります。
splice
splice はリストの差し替えをする関数です。逆引き Formula 2.0 の関数のマニュアルはこちらに用意しました。
関数の説明には以下のように書かれています。
startIndexで指定された数の要素をリストから削除し、オプションでその位置に新しい要素を挿入します。deleteCountが指定されていない場合、デフォルトは0になります。
startIndex は削除・挿入する最初の位置、deleteCount は削除する個数を示します。deleteCount が省略された時には 0 となり、削除は行われません。上記のマニュアルにいくつかのパターンを試してみました。

- 最初の例: 1 番目から 2 個のデータ (2, 3) を削除し、代わりに A, B を挿入しています。
- 二番目の例: 2番目に AAA を追加します。deleteCount が 0 なので、元のデータは削除しません。
- 三番目の例: 0番目から3個のデータ(1, 2, 3) を削除し、何も追加しません。
- 四番目の例: 存在しない場所を指定しているため、一番後ろに追加されました。
- 五番目の例: 初期位置に負の値を入れると、右側からの位置指定になりました。
おわりに
今回は、新しい formatNumber と splice の関数を解説しました。splice の第二引数の負の値の動作も予想通りでした。作った人もよくわかってくれています。