gpt4 book ai didi

c# - 如何在 C# 中计算非常大的 double 组的轮数

转载 作者:太空宇宙 更新时间:2023-11-03 17:14:52 25 4
gpt4 key购买 nike

在 C# 中,我有一个 double 组(double[] 我是说)我想在 C# 中将所有值四舍五入到小数点后两位。

一种解决方案是使用 foreach()Math.Round() 函数来实现但是数组非常大(1.000.000 到 10.000.000 个值)

除了foreach,还有更高效的解决方案吗?

最佳答案

Instead of foreach, a more efficient solution?

没有。从根本上说,如果您想对所有值进行四舍五入,就必须对所有值进行四舍五入。没有任何魔法可以让这一切变得更简单。

当然,如果您只打算访问其中的几个值,您可能会重新设计您的代码以延迟在访问时舍入 - 甚至在显示时 - 但如果您真的需要所有值的四舍五入版本,没有什么比 O(n) 操作更快。

您可以按照其他答案中的说明并行进行,这很可能使它更快 - 但与单线程方法相比,它同时效率较低。 (由于涉及协调,您最终会做更多的工作 - 但总体而言,您仍可能会更快地完成工作。)

虽然您没有说明为什么要舍入这些值 - 通常,您应该只在显示时舍入值。你真的确定你需要在那之前把它们四舍五入吗?这些值代表什么? (如果它们是财务值,您应该强烈考虑 decimal 而不是 double。)

关于c# - 如何在 C# 中计算非常大的 double 组的轮数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20249458/

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