gpt4 book ai didi

ios - 如何以最高精度比较小数点后30位的双数?

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

我需要比较两个小数点后 30 位的大十进制数。我还需要检测小数点后 30 位的差异,所以根据我的需要:

double number_1=80.004752165027610999459284357728;
double number_2=80.004752165027610999459284357727;

导致这个:

double result = 0.000000000000000000000000000001

由于数字本身的性质,这似乎是不可能的(我尝试过使用 float,long double)。我只能操作有限的小数位。那么在这种情况下我怎样才能达到更好的精度呢?也许我可以使用一些框架的功能?我在 nsnumber 和 google 中没有发现任何有用的内容

最佳答案

您可以使用 NSDecimalNumber。它最多可处理 38 位数字。

NSDecimalNumber, an immutable subclass of NSNumber, provides an object-oriented wrapper for doing base-10 arithmetic. An instance can represent any number that can be expressed as mantissa x 10^exponent where mantissa is a decimal integer up to 38 digits long, and exponent is an integer from –128 through 127.

Documentation

关于ios - 如何以最高精度比较小数点后30位的双数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56539001/

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