日期:2014-05-17  浏览次数:20881 次

显示格式化问题
我设置某一控件 DisplayFormat = '{0:N5}'
值是2332.11
但是显示出来的结果后面会 2,332.11000
如果设置 '{0:N}' 显示的结果是 2,332.11
我要如何设置才能将千分位去掉 同时小数点后面不要补 0

------解决方案--------------------
我觉得你自己格式化吧
C# code

            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

------解决方案--------------------
DisplayFormat = '{0:F}'
------解决方案--------------------
C# code

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

------解决方案--------------------
探讨
C# code

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

------解决方案--------------------
给你找了几种格式 自己看下需要哪种
C# code
格式字符串 输入 结果
"{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

------解决方案--------------------
DisplayFormat = '{0:G}'可以试试
------解决方案--------------------
探讨
引用:

DisplayFormat = '{0:F}'


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

------解决方案--------------------
DisplayFormat ='{0:G}'

不管你几位小数,就显示原来的数据
------解决方案--------------------
探讨
引用:

引用:
引用:

DisplayFormat = '{0:F}'


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

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

DisplayFormat ='{0:G}'


就可以了嘛

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

------解决方案--------------------
DisplayFormat = '{0:G}'是显示原始数据 不管几位小数
------解决方案--------------------
DisplayFormat = '{0:G}'可以试试
------解决方案--------------------
decimal a = 125412.90122412m;
Response.Write(a.ToString("0.00"));
------解决方案--------------------
我也经常遇到格式化的问题,看到这么多种解决办法,学习了。
------解决方案--------------------
你可以判断它的长度以后再加格式啊,根据小数点后面是否超过5位进行不同的显示,三元运算符就行了