vs2010,开发WinForm
合计重量的时候,小数点后面出现很多位,请问如何处理??

如图:净重合计应该是9.49的 ,但是却多了0001

------解决思路----------------------
double zl=9.490001;
string str=zl.ToString("F");//默认2位小数显示
------解决思路----------------------
ToString()的时候传入个参数就好了
double.ToString("f2");//保留2位小数
------解决思路----------------------
1. E-科学计数法表示
25000.ToString("E");//结果:2.500000E+004
2. C-货币表示,带有逗号分隔符,默认小数点后保留两位,四舍五入
2.5.ToString("C");//结果:¥ 2.50
3. D-十进制数
25.ToString("D5");//结果:00025
4. F-浮点数,保留小数位数(四舍五入)
25.ToString("F2");//结果:25.00
5. G-常规,保留指定位数的有效数字,四舍五入
2.52.ToString("G2");//结果:2.5
6. N-带有逗号分隔符,默认小数点后保留两位,四舍五入
2500000.ToString("N");//结果:2,500,000.00
7. X-十六进制,非整型将产生格式异常
255.ToString("X");//结果:FF
------解决思路----------------------
Math.Round指定精度
------解决思路----------------------
数字在计算机中是以二进制存储的,对于整数,只要不超过整数的表示范围,一定都可以表示成二进制的形式,比如8是100,9是101,88是1011000,但是十进制小数却不一定能精确转换成一个二进制小数
------解决思路----------------------
指定精度可以靠“四舍五入”来获得“正确”结果,
或者可以考虑自己定义运算方法,合计嘛,只用加法的,想象一下把小数分开当整数处理
------解决思路----------------------
1.可以对合计结果进行处理就像上面大伙说的
2.原因是精度丢失,因为计算机是2进制处理的