数字按千分组格式化
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
{
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
相关文章推荐
- trigger和triggerHander的区别
- javascript之DOM操作
- 数据预处理
- 关于取模运算 和 求逆元
- java-基础-权限
- 整合 ElasticSearch 到现有 Rails 项目
- 写iOS SDK注意事项
- 权限获取异常(不能用ModuleId,得换个名字)目前还没搞清楚为啥
- poj 3666 Making the Grade ( dp 离散化 优化)
- Android ListView的局部刷新
- 安卓学习笔记 本地相册或拍照获取图片
- UVA-465 Overflow
- laravel中数据库迁移
- jQuery 弹出层
- 小米手机edittext背景框显示为黑色是什么原因?
- UIButton 设置圆角 边框颜色 点击回调方法
- 【arcgis】使用ArcGIS完成空间插值——趋势面分析法
- 智能终端语音加解密
- 最常用的10个Matlab快捷键,助你编程更高效
- Codeforces 691E Xor-sequences【矩阵快速幂,好题】