gpt4 book ai didi

c# - 求助四舍五入

转载 作者:行者123 更新时间:2023-11-30 16:28:24 30 4
gpt4 key购买 nike

我需要最终结果是一个整数。如果除法是一个整数,但如果它以小数结尾,我需要四舍五入(中点)。

例如,如果除法是 85.5,四舍五入,结果应该是 86如果除法是 85.4,它自然会向下舍入...基本舍入规则如果它是一个整数 85,那么我们都很好,但是我是否应该将结果存储为 double 类型而不考虑这 3 种情况?

double totalFoundPercent = Math.Round(
(double) (totalNumbersDeleted / (totalNumbers - totalNumbersApproved)),
MidpointRounding.AwayFromZero);

这给我一个错误:

The call is ambiguous between the following methods or properties: 'System.Math.Round(double, System.MidpointRounding)' and 'System.Math.Round(decimal, System.MidpointRounding)'

所以我不确定最后是否应该将其存储为 double 类型加上错误的问题。

最佳答案

四舍五入后,您可以根据需要选择将其存储为 integerlong。您可以选择将其存储为浮点类型,例如 floatdouble 但正如您所知,它没有小数部分,读者可能会更清楚地看到它表示为整数类型。

要记住的一件事是 float 能够不精确地存储非常大的数字,这些数字可能不适合常规 int 甚至 long 类型。最大的多头是 9,223,372,036,854,775,807,而最大的 double1.7976931348623157 × 10³⁰⁸

然而,该错误令人困惑,因为它显然应该调用 double 重载:doubledecimal 之间没有隐式转换,并且您的类型转换使类型非常清楚。您确定使用问题中的确切代码会收到此错误吗?

关于c# - 求助四舍五入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7110513/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com