在C 中用逗號格式化數字
在C 中, std::locale 類別提供了一種依賴於區域設定的方法來用逗號格式化數字.
std::locale 與std::stringstream
要將數字格式化為有逗號的字串,可以將std ::locale 與std::stringstream 一起使用如下所示:
<code class="cpp">#include <iomanip> #include <locale> template<class T> std::string FormatWithCommas(const T& value) { std::stringstream ss; ss.imbue(std::locale("")); // Use the system's locale ss << std::fixed << value; return ss.str(); }</code>
用法範例:
<code class="cpp">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"</code>
處理雙精確度數
處理雙精確度數
<code class="cpp">template<class T> std::string FormatWithCommas(const T& value) { std::stringstream ss; ss.imbue(std::locale("")); ss << std::fixed << std::setprecision(2) << value; return ss.str(); }</code>
免責聲明:注意上述解決方案的可移植性可能是一個問題,因為傳遞「」時使用的區域設定可能會因係統而異。
以上是如何使用 std::locale 在 C 中用逗號格式化數字?的詳細內容。更多資訊請關注PHP中文網其他相關文章!