我想知道在将浮点数舍入为2位小数时使用Truncate或Round的优点和缺点:
float number = 3.4567070 Math.Round(number,2) Math.Truncate(100 * number) / 100
哪个是最好的,最有效的?何时使用圆形和截断?
解决方法
截断效率略高,但这些功能非常不同.
> Math.Round
计算输入的最近数字到指定的准确度.
Rounds a value to the nearest integer or to the specified number of fractional digits.
> Math.Truncate
有效地丢弃小数点后的任何数字.它将始终向零舍入到最接近的整数.
Calculates the integral part of a number
您应该使用哪种功能完全取决于您尝试实现的逻辑.
Input | Round | Truncate ------+-------+--------- -1.6 | -2 | -1 -1.5 | -2 | -1 -1.4 | -1 | -1 -0.5 | 0 | 0 0.5 | 0 | 0 1.4 | 1 | 1 1.5 | 2 | 1 1.6 | 2 | 1
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。