黑马程序员技术交流社区
标题:
怎样实现小数的四舍五入?给个思路!
[打印本页]
作者:
hongiqnglik
时间:
2013-8-10 21:37
标题:
怎样实现小数的四舍五入?给个思路!
怎样实现小数的四舍五入?给个思路!
作者:
§風過無痕§
时间:
2013-8-10 22:04
Math.round(number);
复制代码
number 参数是必需的,表示要舍入为最接近的整数的值。
QQ截图20130810220205.png
(5.21 KB, 下载次数: 7)
下载附件
2013-8-10 22:03 上传
作者:
黑骏马
时间:
2013-8-11 09:37
本帖最后由 黑骏马 于 2013-8-11 09:50 编辑
小数的四舍五入可以使用Math.round()方法,它有8个重载,可以对double和decimel类型进行4种方式的舍入:一个参数:
Math.round(number)
将小数值舍入到最接近的整数值。
<span style="font-size: 14px; line-height: 1.5;">Math.Round(8.3); //Returns 8</span>
Math.Round(8.5); //Returns 8
Math.Round(8.6); //Returns 9
Math.Round(-8.3); //Returns -8
Math.Round(-8.6); //Returns -9
复制代码
两个参数:
Math.round(number,保留小数位数)
将小数值按指定的小数位数舍入。
Math.Round(3.44444 , 1); //Returns 3.4
Math.Round(3.44444 . 3); //Returns 3.444
复制代码
后两种是在前两种方法的基础上加一个参数,用于解决二进制浮点数算术运算精度损失的问题,
(前面8.5舍入后得到的不是9而是8,但有时又可能会得到9,为解决这类问题增加了一个参数)
Math.Round(11.5 , MidpointRounding.ToEven); //Returns 12
Math.Round(11.5 , MidpointRounding.AwayFromZero); //Returns 11
Math.Round(3.4454 , 2 , MidpointRounding.ToEven); //Returns 3.45
Math.Round(3.4454 , 2 , MidpointRounding.AwayFromZero); //Returns 3.,44
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2