先日、Javascript(nashornスクリプトエンジン使用)で数値をカンマ区切りの文字列に変換しようとして「toLocaleString()」を使ったのですが、残念ながら機能しませんでした。正規表現で対応した話と、「rhino」「GraalJS」は対応しているのかについて調べた結果をお話します。数値をカンマ区切りの文字列に変換する一番簡単な方法は「toLocaleString()」を使うことです。実行したところ、結果は「123456789円」。「NativeNumber#toLocaleString」のコードを見るとそのまま文字列にして返してるだけなので、当然の結果ですね。仕方がないので正規表現で対応しました。'円');無事「123,456,789円」になりました。「rhino」「GraalJS」の対応状況ですが、「GraalJS」は使えました。「rhino」は「nashorn」と同じで対応していません。「NativeNumber#execIdCall」のコードを見るとそのまま文字列にして返してるだけですね。開発者ブログの内容は無保証です。製品のユーザサポート対象ではありません。