NSDecimalNumber 用于 iPhone 上的大数运算

发布于 2024-10-19 18:44:59 字数 271 浏览 6 评论 0原文

我需要在应用程序中使用大数字来提高精度,浮点数或双精度数是不够的。 我还有 int 和 float 数字,我必须对它们进行所有操作。

我认为 NSDecimalNumber 适合我需要的精度,但我想用其他类型的数字进行运算,并且它是复杂的公式。因此,当您有很多东西时,我看起来不适合使用此类来执行复杂的公式(太复杂而无法使用函数decimalWith...或decimalBy...)。

有谁知道使用什么来轻松操作大数,并使用不同类型(浮点数、小数、整数)对它们进行运算?

谢谢。

I need to use big number for precision in my application, float or double are not enough.
I also have int and float numbers, and I have to do operations with all of them.

I think that NSDecimalNumber is good for the precision I need, but I would like to do operations with other kind of numbers and it is complex formula. So I doesn't look appropriate to use this class in order to do complex formulas (too complicated to use the functions decimalWith... or decimalBy...) when you have lots of things.

Does anyone know what to use in order to manipulate big numbers easily, and do operations on them with different types (float, decimal, int)?

Thank you.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

茶底世界 2024-10-26 18:45:00

NSDecimalNumbers 只是 NSDecimal 结构的包装器,其中具有 一堆有用的函数,无需分配新对象即可进行操作。

我使用过它们一些,并对这些内置功能提出了一些其他有用的补充: https://github.com/davedelong/DDMathParser/blob/master/DDMathParser/_DDDecimalFunctions.m

我建议使用 NSDecimal 除非你能想出一个令人信服的理由不这样做。

NSDecimalNumbers are simply wrappers around NSDecimal structs, which have a bunch of useful functions for manipulation without requiring the allocation of new objects.

I've used them a bit, and have come up with some other useful additions to those built-in: https://github.com/davedelong/DDMathParser/blob/master/DDMathParser/_DDDecimalFunctions.m

I would recommend using NSDecimals unless you can come up with a compelling reason not to.

_畞蕅 2024-10-26 18:45:00

谢谢你们!
我最终使用了对我来说足够的 double 类型。我很困惑,因为我使用 NSLog%f 来打印我的号码,但这不是我想要的。我使用 %e 来检查科学记数法中的数字是否正确,事实确实如此。所以我只是使用双数进行所有计算并且它正在工作。

Thanks guys!
I finally used the double type that is enough for me. I was confused because I was using NSLog with %f to print my number and it wasn't what I wanted. I used %e instead to check the number in scientific notation was the right one, and it is. So I just do all my calculations using double number and it is working.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文