gpt4 book ai didi

ios - NSDecimalNumber 值的小数位数和精度

转载 作者:行者123 更新时间:2023-11-29 05:46:03 27 4
gpt4 key购买 nike

假设我有一个 NSDecimalNumber 类型的变量 v

让 v = 34.596904 采用自己的格式。

我想知道这个数字的精度和小数位数,而不是默认的。我在 NSDecimalNumber 类中没有找到任何提供这些值的函数,或者也许有人想了解它是如何工作的。

precision = 8
scale = 6

精度是数字中有效数字的计数,小数位数是小数点后有效数字的计数

最佳答案

此扩展将为您提供唯一示例的具体值:

extension Decimal {
var scale: Int {
return -self.exponent
}

var precision: Int {
return Int(floor(log10((self.significand as NSDecimalNumber).doubleValue)))+1
}
}

用法:

let v: NSDecimalNumber = NSDecimalNumber(string: "34.596904")

print("precision=\((v as Decimal).precision)") //->precision=8
print("scale=\((v as Decimal).scale)") //->scale=6

但我无法确定这是否会在您想到的所有情况下产生预期结果,因为您只显示了一个示例......

<小时/>

还有一点,在 Swift 中,DecimalNSDecimalNumber 很容易桥接,你应该尽可能地使用 Decimal

关于ios - NSDecimalNumber 值的小数位数和精度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56144627/

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