「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > C++ で std::locale を使用して数値をカンマでフォーマットする方法

C++ で std::locale を使用して数値をカンマでフォーマットする方法

2024 年 11 月 7 日に公開
ブラウズ:201

How to Format Numbers with Commas in C   Using std::locale?

C でのカンマを使用した数値の書式設定

C では、 std::locale クラスは、カンマを使用して数値を書式設定するロケール依存の方法を提供します。 .

std::locale with std::stringstream

数値をカンマ付きの文字列としてフォーマットするには、std::locale と std::stringstream を使用できます。次のように:

#include 
#include 

template
std::string FormatWithCommas(const T& value) {
  std::stringstream ss;
  ss.imbue(std::locale(""));  // Use the system's locale
  ss 

使用例:

std::string result1 = FormatWithCommas(7800);
std::string result2 = FormatWithCommas(5100100);
std::string result3 = FormatWithCommas(201234567890);

// result1 = "7,800"
// result2 = "5,100,100"
// result3 = "201,234,567,890"

Double の処理

Double をカンマ付きの文字列としてフォーマットするには、上記と同じアプローチを使用できますが、コードは小数点を処理する必要があります:

template
std::string FormatWithCommas(const T& value) {
  std::stringstream ss;
  ss.imbue(std::locale(""));
  ss 

免責事項:

「」が渡されるときに使用されるロケールはシ​​ステムによって異なる可能性があるため、上記のソリューションの移植性が問題になる可能性があることに注意してください。

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3