C에서 쉼표를 사용하여 숫자 서식 지정
C에서 std::locale 클래스는 쉼표로 숫자 서식을 지정하는 로케일 종속 방법을 제공합니다. .
std::locale with std::stringstream
숫자를 쉼표가 있는 문자열 형식으로 지정하려면 std::stringstream과 함께 std::locale을 사용할 수 있습니다. 다음과 같습니다:
#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