0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

【FileMaker】NumToJTextの落とし穴

Posted at

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を使ってくださいね。

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

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?