微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

C#舍入2位小数:截断与舍入

我想知道在将浮点数舍入为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 举报,一经查实,本站将立刻删除。

相关推荐