c++: カンマを使った数値の書式設定?
2023-10-02 19:40:17
質問
整数を受け取り、それを返すメソッドを書きたい。
std::string
を返すメソッドを書きたい。
宣言の例です。
std::string FormatWithCommas(long value);
使用例です。
std::string result = FormatWithCommas(7800);
std::string result2 = FormatWithCommas(5100100);
std::string result3 = FormatWithCommas(201234567890);
// result = "7,800"
// result2 = "5,100,100"
// result3 = "201,234,567,890"
として数値をフォーマットするC++の方法は何ですか?
string
のようにカンマで囲む方法はありますか?
(ボーナスとして
double
も扱えるようになります)
どのように解決するのですか?
使用方法
std::locale
で
std::stringstream
#include <iomanip>
#include <locale>
template<class T>
std::string FormatWithCommas(T value)
{
std::stringstream ss;
ss.imbue(std::locale(""));
ss << std::fixed << value;
return ss.str();
}
免責事項です。
ポータビリティが問題になるかもしれません。
""
が渡されたときにどのロケールが使われるかを調べる必要があるでしょう。
関連
-
[解決済み】C++ クラスヘッダが含まれているときに「不明な型」があるのはなぜですか?重複
-
[解決済み】浮動小数点数の乱数生成
-
[解決済み] コンマを桁区切りとして数字を印刷するには?
-
[解決済み] 小数点以下2桁の数字を表示する
-
[解決済み] Pythonで浮動小数点数を固定幅にフォーマットする方法
-
[解決済み】画像処理。コカ・コーラ缶」認識のためのアルゴリズム改良
-
[解決済み] Intel CPU の _mm_popcnt_u64 で、32 ビットのループカウンターを 64 ビットに置き換えると、パフォーマンスが著しく低下します。
-
[解決済み】常に小数点以下2桁を表示する数値の書式設定
-
[解決済み] javaで1200を1.2kにフォーマットする方法について
-
[解決済み] printf/sprintf に可変個数の引数を渡すには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】識別子 "string "は未定義?
-
[解決済み】C++のGetlineの問題(オーバーロードされた関数 "getline "のインスタンスがない
-
[解決済み】「corrupted size vs. prev_size」glibc エラーを理解する。
-
[解決済み】テンプレートの引数1が無効です(Code::Blocks Win Vista) - テンプレートは使いません。
-
[解決済み】C++の変数はイニシャライザーを持っているが、不完全な型?
-
[解決済み] 式はクラス型を持つ必要があります。
-
[解決済み】C++ - ステートメントがオーバーロードされた関数のアドレスを解決できない。
-
[解決済み】 while(cin) と while(cin >> num) の違いは何ですか?)
-
[解決済み] 配列のベクトルを扱う正しい方法
-
[解決済み】c++で.txtファイルから2次元の配列に読み込む