.NET中Math.Floor()和Math.Truncate()的区别是什么?
当前回答
它们在功能上与正数相等。区别在于他们处理负数的方式。
例如:
Math.Floor(2.5) = 2
Math.Truncate(2.5) = 2
Math.Floor(-2.5) = -3
Math.Truncate(-2.5) = -2
MSDN链接: ——数学。楼的方法 ——数学。截断方法
附注:小心数学。周围可能不是你期望的那样。
要获得“标准”舍入结果,请使用:
float myFloat = 4.5;
Console.WriteLine( Math.Round(myFloat) ); // writes 4
Console.WriteLine( Math.Round(myFloat, 0, MidpointRounding.AwayFromZero) ) //writes 5
Console.WriteLine( myFloat.ToString("F0") ); // writes 5
其他回答
Truncate去掉小数点。
数学。地板滑到左边… 数学。细胞向右滑动… 数学。截断criiiiss croooss(地板/天花板始终朝向0) 数学。圆润恰恰,非常流畅……(走到最近的一边)
让我们开始工作吧!(⌐□_□)
向左……Math.floor 你们现在都收回来……-- 这次跳了两下……- = 2
大家鼓掌✋✋
你能走多低?你能往下走吗?一直到地板上?
if (this == "wrong")
return "i don't wanna be right";
Math.truncate(x)也与int(x)相同。 通过去掉一个正的或负的分数,你总是趋向0。
数学。楼层四舍五入,马斯。天花板来了,还有数学。将回合截断至零。因此,数学。截断就像数学。正数的地板,和数学一样。负数的上限。这是参考资料。
为了完整起见,请使用数学。四舍五入到最接近的整数。如果这个数字恰好在两个整数的中间,那么它就会四舍五入到偶数。参考。
参见:暗黑和平的答案。强烈推荐!
它们在功能上与正数相等。区别在于他们处理负数的方式。
例如:
Math.Floor(2.5) = 2
Math.Truncate(2.5) = 2
Math.Floor(-2.5) = -3
Math.Truncate(-2.5) = -2
MSDN链接: ——数学。楼的方法 ——数学。截断方法
附注:小心数学。周围可能不是你期望的那样。
要获得“标准”舍入结果,请使用:
float myFloat = 4.5;
Console.WriteLine( Math.Round(myFloat) ); // writes 4
Console.WriteLine( Math.Round(myFloat, 0, MidpointRounding.AwayFromZero) ) //writes 5
Console.WriteLine( myFloat.ToString("F0") ); // writes 5
Math.Floor()舍入到负无穷
数学。向上或向下截断舍入到零。
例如:
Math.Floor(-3.4) = -4
Math.Truncate(-3.4) = -3
而
Math.Floor(3.4) = 3
Math.Truncate(3.4) = 3
推荐文章
- Nuget连接尝试失败“无法为源加载服务索引”
- 我如何使一个方法的返回类型泛型?
- 如何获取正在执行的程序集版本?
- AutoMapper vs valueinjector
- 什么是.NET程序集?
- 字符串不能识别为有效的日期时间“格式dd/MM/yyyy”
- 函数应该返回空对象还是空对象?
- 如何转换日期时间?将日期时间
- Numpy Max vs amax vs maximum
- 防止在ASP中缓存。NET MVC中使用属性的特定操作
- 转换为值类型'Int32'失败,因为物化值为空
- c#中有任何连接字符串解析器吗?
- MSBuild路径
- c#和Java的主要区别是什么?
- 在c#中创建一个特定时区的DateTime