この解答例はChatGPTによって生成されています,正しいかは自己判断で。 皆の投稿からも解答例が見つかるかもしれませんよ。

BFE.devでのAI解答例 - JavaScript コーディング問題
65. 桁区切りのコンマ

function addComma(num) {  // 数字を文字列に変換して、小数点で区切る  let [integer, decimal] = num.toString().split('.');  // 整数部分にコンマをつける  integer = integer.replace(/\B(?=(\d{3})+(?!\d))/g, ',');  // 小数部分がある場合は再度つなぎ合わせる  if (decimal) {    decimal = decimal.slice(0, 5); // 小数点以下最大5桁まで表示    return `${integer}.${decimal}`;  } else {    return integer;  }}

正規表現を使って、整数部分にコンマを挿入する部分がポイントです。 \B(?=(\d{3})+(?!\d)) は、「数字が3つずつ、かつ末尾に数字がない場所」を表します。 ここで \B という表現は「単語境界でない」という意味で、\b は単語境界であることに注意してください。

また、小数部分を最大5桁まで表示するようにしています。 小数点以下が5桁以上の場合は切り捨てられます。