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