JavaScriptで数字を万,億,兆などの日本語の数単位に変換する

2024/12/06 (金) - 09:00 JavaScript

5,000,000,000とか大きい数字を扱うとき、ぱっと見でいくつなのかわからないときがあります。500,000と書かれるより、50万と表記した方がわかりやすいです。そこでJavaScriptで数字を日本語の数単位に変換するっぽいやつを実装してみました。

京都駅の物件リスト

JavaScript

const srtTani = ['','万','億','兆','京'];
function strJPInt(num) {
 let strVal = [];
 let total = [];
 strVal = String(num).replace( /(\d)(?=(\d\d\d\d)+(?!\d))/g, '$1,').split(',');
 for (let i=strVal.length ; i>0 ; i--){
  total[i-1] = (`${parseInt(strVal[i-1])}${yenTani[srtTani.length-i]}`);
  if(strVal[i-1]==0){
   total[i-1] = '';
  }
 }
 return String(total.join(''));
}
//実行 引数で整数を指定する
console.log(strJPInt(1000)) //1000
console.log(strJPInt(19800)) //1万9800
console.log(strJPInt(9800314026)) //98億31万4026
console.log(strJPInt(-10598002340356)) //-10兆5980億234万356

実用例。たとえば高額なデータを表示するとき等に。

const dataProperty = [
 {
  name: 'こってりラーメン屋',
  price: 50000000
 },
 {
  name: '八つ橋屋',
  price: 50000000
 },
/*中略*/
 {
  name: 'ゲーム会社',
  price: 1000000000000
 },
 {
  name: '半導体会社',
  price: 1500000000000
 }
];
dataProperty.map((data) => {
 console.log(data.name,`${strJPInt(data.price)}円`);
});

実行結果

こってりラーメン屋 5000万円
八つ橋屋 5000万円
(中略)
ゲーム会社 1兆円
半導体会社 1兆5000億円

5,000兆円欲しい!

おしまい

記事をシェアする

  • facebookでシェアする
  • twitter(X)でシェアする
  • LINEでシェアする
  • はてなブックマークでシェアする
  • Threadsでシェアする
  • Pocketでシェアする
  • Pinterestでシェアする

おすすめ記事

トラックバック & ピンバック

この記事へのトラックバックURI
https://weblog.walk-life.me/js_int_jpformat/trackback/

コメント

コメントは下記からどうぞ

ページの先頭へ