首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

为什么输入0.705四舍五入(System.Math.Round)后得到的结果是0.70 ?该如何处理

2012-01-06 
为什么输入0.705四舍五入(System.Math.Round)后得到的结果是0.70 ?decimalrgcb2decimal.Parse(System.Mat

为什么输入0.705四舍五入(System.Math.Round)后得到的结果是0.70 ?
decimal   rgcb2=decimal.Parse(System.Math.Round(decimal.Parse(rgcb.Text),2).ToString());

System.Math.Round方法注意的地方:

假如rgcb.Text为0.704,0.725,0.746等四舍五入(System.Math.Round)的结果分别是0.7,0.72,0.74
假如rgcb.Text为0.714,0.735,0.756等四舍五入(System.Math.Round)的结果分别是0.72,0.74,0.76

也就是0.7后面是偶数(如0,2,4等)不会四舍五入(不进一)
也就是0.7后面是奇数(如1,3,5等)会四舍五入(进一)

但是:

输入0.7044得到的结果是0.70
输入0.7045得到的结果是0.70
输入0.7046得到的结果是0.70

输入0.7054得到的结果是0.71
输入0.7055得到的结果是0.71

输入0.716得到的结果是0.72
输入0.715得到的结果是0.72
输入0.714得到的结果是0.71

输入0.706得到的结果是0.71
输入0.705得到的结果是0.70
输入0.704得到的结果是0.70


[解决办法]
FormatFloat( '0.00 ',Value)

floor(float+0.5)

int(f+0.5)

热点排行