【问题标题】:c# Compact framework Math.Round up problem [duplicate]c#紧凑框架Math.Round up问题[重复]
【发布时间】: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


    【解决方案1】:

    您应该使用带有两个参数的重载静态 Math.Round 方法:

    decimal x = Math.Round(2.5555, 2);      // x == 2.56
    

    您可以阅读更多here

    这个问题是 Mathf.Round 方法默认使用“ToEven convention”有一个使用 MidpointRounding.AwayFromZero 的示例,它会给你你期望的结果

    【讨论】:

    • 用我的例子试试,.. 失败了,没有了,......这就是问题
    • 哦,我明白了,默认情况下,Mathf.Round 方法使用“ToEven 约定”docs.microsoft.com/en-us/dotnet/api/… 有一个使用 MidpointRounding.AwayFromZero 的示例,它将为您提供您期望的结果。
    • 您应该使用.ToEven 答案更新您的答案。你会得到接受而不是反对。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-07-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多