【FileMaker】NumToJTextの落とし穴

FileMakerには、数字を扱うテキスト関数で”NumToJText“という、数字を色々な形式に変換してくれるものがあります。

例えば、
セパレータなし
3桁ごとにカンマつけたい
全角にしたい
漢数字にしたい
など。

このとき、「数字」という部分に着目してくださいね。

例えば、”0012″を全角数字に置き換える場合、NumToJTextでは”0012”にはなりません。

NumToJText( “0012” ; 0 ; 1 )

この場合は、”12”と返されます。
数字を指定するからです。
でも、感覚的にはいくら数字とはいえ、”0012″と入れたから、”0012”と返して欲しいじゃないですか。

なので、こういう時は、RomanZenkakuを使います。

RomanZenkaku( “0012” )

これだけです。
これで、”0012”と返ってくれます。

これが一番役立つのは、郵便番号や住所を全角で表示するときなどではないでしょうか?

NumToJText( “123-0012” )
とすると、残念なことに、”123-12″と返ってきます。(ぜひやってみてね。ある意味面白いので)

RomanZenkaku( “123-0012” )
とすると、きちんと”123−0012”と返ってきます。

NumToJTextのヘルプを見ると、「やった!全角できるんじゃん!」と思って安易に使うと、”0″落ちするので、使う場面をよーく考えてみてくださいね。
NumToJTextは、領収書の金額を漢数字で書くとか、マージフィールド表示で金額フィールドにカンマをつけたいなど「数字として取り扱いたいとき」の関数です。
郵便番号や住所に混在している数字を扱う時は、「テキストとして扱う」ので、RomanZenkakuを使ってくださいね。

これを理解していないと、ハマる時は、ハマります。
私も最初ハマりました。