显示格式化问题

PaulyJiang 2012-10-10 09:18:11
我设置某一控件 DisplayFormat = '{0:N5}'
值是2332.11
但是显示出来的结果后面会 2,332.11000
如果设置 '{0:N}' 显示的结果是 2,332.11
我要如何设置才能将千分位去掉 同时小数点后面不要补 0
...全文
299 23 打赏 收藏 转发到动态 举报
写回复
用AI写文章
23 条回复
切换为时间正序
请发表友善的回复…
发表回复
lshfong 2012-10-10
  • 打赏
  • 举报
回复
DisplayFormat = '{0:G}'可以试试
six-years 2012-10-10
  • 打赏
  • 举报
回复
DisplayFormat = '{0:G}'是显示原始数据 不管几位小数
暖枫无敌 2012-10-10
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 的回复:]
引用 11 楼 的回复:

引用 6 楼 的回复:
引用 2 楼 的回复:

DisplayFormat = '{0:F}'


0F 默认两位小数,会截掉后面的小数

还以为你要保留2位小数呢,原封不动的显示,使用
C# code

DisplayFormat ='{0:G}'


就可以了嘛

直接用G时可以,我这里还有一个需求是 可能值是5位小数 但是我只……
[/Quote]

就直接
DisplayFormat ='{0:G}'

不要加2
DisplayFormat ='{0:G2}'不要这样
Nick黄 2012-10-10
  • 打赏
  • 举报
回复
DisplayFormat ='{0:G}'

不管你几位小数,就显示原来的数据
PaulyJiang 2012-10-10
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 的回复:]

DisplayFormat = '{0:G}'可以试试
[/Quote]
G 一般情况可以满足了,我这边还有特殊需求 看楼上
PaulyJiang 2012-10-10
  • 打赏
  • 举报
回复
[Quote=引用 12 楼 的回复:]

引用 11 楼 的回复:

引用 6 楼 的回复:
引用 2 楼 的回复:

DisplayFormat = '{0:F}'


0F 默认两位小数,会截掉后面的小数

还以为你要保留2位小数呢,原封不动的显示,使用
C# code

DisplayFormat ='{0:G}'


就可以了嘛

直接用G时可以,我这里还有一个需求是 可能值是5位小数 但……
[/Quote]
不知道还有没有办法解决呢?
PaulyJiang 2012-10-10
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 的回复:]

引用 6 楼 的回复:
引用 2 楼 的回复:

DisplayFormat = '{0:F}'


0F 默认两位小数,会截掉后面的小数

还以为你要保留2位小数呢,原封不动的显示,使用
C# code

DisplayFormat ='{0:G}'


就可以了嘛
[/Quote]
直接用G时可以,我这里还有一个需求是 可能值是5位小数 但是我只要显示2位小数 用G2的话就不对了
暖枫无敌 2012-10-10
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]
引用 2 楼 的回复:

DisplayFormat = '{0:F}'


0F 默认两位小数,会截掉后面的小数
[/Quote]
还以为你要保留2位小数呢,原封不动的显示,使用

DisplayFormat ='{0:G}'

就可以了嘛
six-years 2012-10-10
  • 打赏
  • 举报
回复
DisplayFormat = '{0:G}'可以试试
six-years 2012-10-10
  • 打赏
  • 举报
回复
给你找了几种格式 自己看下需要哪种
格式字符串 输入 结果
"{0:C}" 12345.6789 $12,345.68
"{0:C}" -12345.6789 ($12,345.68)
"{0:D}" 12345 12345
"{0:D8}" 12345 00012345
"{0:E}" 12345.6789 1234568E+004
"{0:E10}" 12345.6789 1.2345678900E+004
"{0:F}" 12345.6789 12345.68
"{0:F0}" 12345.6789 12346
"{0:G}" 12345.6789 12345.6789
"{0:G7}" 123456789 1.234568E8
"{0:N}" 12345.6789 12,345.68
"{0:N4}" 123456789 123,456,789.0000
"Total: {0:C}" 12345.6789 Total: $12345.68
PaulyJiang 2012-10-10
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
我觉得你自己格式化吧
C# code

System.Globalization.NumberFormatInfo nf = new System.Globalization.CultureInfo(System.Globalization.CultureInfo.CurrentCulture.Name).NumberFormat;
nf.Num……
[/Quote]
这样做的话我就要自己去控制了。
PaulyJiang 2012-10-10
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]

C# code

float f = 2332.11f;
MessageBox.Show(f.ToString("#####0.##")); //2332.11000
[/Quote]

忘记说了 我这个是GridColum的Summary Format 不支持自定义的这种
PaulyJiang 2012-10-10
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

DisplayFormat = '{0:F}'
[/Quote]

0F 默认两位小数,会截掉后面的小数
six-years 2012-10-10
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]

DisplayFormat = '{0:F}'
[/Quote]
这个应该可以
csdn_风中雪狼 2012-10-10
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 的回复:]
C# code

float f = 2332.11f;
MessageBox.Show(f.ToString("#####0.##")); //2332.11000
[/Quote]
// 输出得到 2332.11
csdn_风中雪狼 2012-10-10
  • 打赏
  • 举报
回复

float f = 2332.11f;
MessageBox.Show(f.ToString("#####0.##")); //2332.11000
暖枫无敌 2012-10-10
  • 打赏
  • 举报
回复
DisplayFormat = '{0:F}'
bdmh 2012-10-10
  • 打赏
  • 举报
回复
我觉得你自己格式化吧

System.Globalization.NumberFormatInfo nf = new System.Globalization.CultureInfo(System.Globalization.CultureInfo.CurrentCulture.Name).NumberFormat;
nf.NumberDecimalDigits = 5;
float f = 2332.11f;
MessageBox.Show(f.ToString("f",nf)); //2332.11000
PaulyJiang 2012-10-10
  • 打赏
  • 举报
回复
[Quote=引用 17 楼 的回复:]

DisplayFormat = '{0:G}'是显示原始数据 不管几位小数
[/Quote]
是的 但是我 有时候需要格式化呢 比如说 3 位 4 位 5 位 或者其他的
这样我只能在计算上去做处理了
kaifa123 2012-10-10
  • 打赏
  • 举报
回复
你可以判断它的长度以后再加格式啊,根据小数点后面是否超过5位进行不同的显示,三元运算符就行了
加载更多回复(2)

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧