【发布时间】:2020-07-24 17:18:25
【问题描述】:
我用的是VS2008 c#,windows mobile 6.5,所以必须用.Net Compact Framework,问题是:
当 Math.Round(66.05,1) 结果为 66 时,正确值应为 66.1 我能做些什么 ?我应该如何使用round()函数
谢谢
【问题讨论】:
标签: c# .net windows-mobile-6.5
我用的是VS2008 c#,windows mobile 6.5,所以必须用.Net Compact Framework,问题是:
当 Math.Round(66.05,1) 结果为 66 时,正确值应为 66.1 我能做些什么 ?我应该如何使用round()函数
谢谢
【问题讨论】:
标签: c# .net windows-mobile-6.5
您应该使用带有两个参数的重载静态 Math.Round 方法:
decimal x = Math.Round(2.5555, 2); // x == 2.56
您可以阅读更多here。
这个问题是 Mathf.Round 方法默认使用“ToEven convention”有一个使用 MidpointRounding.AwayFromZero 的示例,它会给你你期望的结果
【讨论】:
.ToEven 答案更新您的答案。你会得到接受而不是反对。