Notion Formula の新しい二つの関数 (formatNumber, splice) : hkob の雑記録 (297)

はじめに

hkob の雑記録の第297回目は、Notion Formula に新しく追加された formatNumber と splice について解説します。

formatNumber

formatNumber は数値を文字列に変換する関数です。逆引き Formula 2.0 の関数のマニュアルはこちらに用意しました。

hkob.notion.site

関数形式の記述は 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 は小数点以下の桁数を示します。上記のマニュアルにいくつかのパターンを試してみました。

formatNumber

  • 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 の関数のマニュアルはこちらに用意しました。

hkob.notion.site

関数の説明には以下のように書かれています。

startIndexで指定された数の要素をリストから削除し、オプションでその位置に新しい要素を挿入します。deleteCountが指定されていない場合、デフォルトは0になります。

startIndex は削除・挿入する最初の位置、deleteCount は削除する個数を示します。deleteCount が省略された時には 0 となり、削除は行われません。上記のマニュアルにいくつかのパターンを試してみました。

splice

  • 最初の例: 1 番目から 2 個のデータ (2, 3) を削除し、代わりに A, B を挿入しています。
  • 二番目の例: 2番目に AAA を追加します。deleteCount が 0 なので、元のデータは削除しません。
  • 三番目の例: 0番目から3個のデータ(1, 2, 3) を削除し、何も追加しません。
  • 四番目の例: 存在しない場所を指定しているため、一番後ろに追加されました。
  • 五番目の例: 初期位置に負の値を入れると、右側からの位置指定になりました。

おわりに

今回は、新しい formatNumber と splice の関数を解説しました。splice の第二引数の負の値の動作も予想通りでした。作った人もよくわかってくれています。

hkob.notion.site