【C++】数値を3文字ごとに「,(カンマ)」区切りする方法
はじめに
数値の桁をわかりやすくするために、
3文字ごとに「,」区切りしたい時があります。
そこで、今回はC++での
数値を3文字ごとに「,」区切りする方法
について紹介します。
#今回紹介する方法以外に色々なやり方があります。
※今回は負の値は考慮していません。
ソースコードと結果
ソースコードは以下になります。
文字列を更新して3文字以下になるまでループしているのが肝ですね。
#include <string> #include <iostream> using namespace std; int main() { int val = 1234567890; string str = to_string(val); // 数値をstring型に変換 string dst = ""; // 出力 while (str.length() > 3) { // 「,」をつける必要があるまでループ dst = "," + str.substr(str.length() - 3, 3) + dst; // 3文字ごとに「,」で区切る str = str.substr(0, str.length() - 3); // 文字列を更新 } dst = str + dst; // 最後に「,」をつける必要がない文字列と結合する cout << val << " -> " << dst << endl; return 0; }
結果は以下になります。
1234567890 -> 1,234,567,890
最後に
今回は
数値を3文字ごとに「,」区切りする方法
について紹介しました。
結構シンプルなソースで実現できたので、
個人的には納得しています。