您的位置:首页 > 其它

数字按千分组格式化

2016-07-15 21:05 363 查看
LPCTSTR FormatThousandNumber(const INT64 iInVal)
{
static CString strVal;

INT64 iVal = (INT64)(iInVal < 0 ? (-iInVal):(iInVal));
strVal.Empty();
do
{
CString szSub;
szSub.Format(_T("%d"), iVal % 1000);
iVal /= 1000;
if(iVal) szSub.Insert(0, _T(','));
strVal.Insert(0, szSub);
}while(iVal);

if(iInVal < 0)
{
strVal.Insert(0, _T('-'));
}

return strVal;
}
//测试用例
int iIn[] = { 0, 123, 1234, 1234567890, -123456 };
for(int i=0; i<_countof(iIn); i++)
{
TRACE(_T("%d = %s\n"), iIn[i], FormatThousandNumber(iIn[i]));
}

调试输出
0 = 0
123 = 123
1234 = 1,234
1234567890 = 1,234,567,890
-123456 = -123,456
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: