gpt4 book ai didi

objective-c - 如何在十进制和整数之间拆分 NSDecimalnumber 并返回

转载 作者:太空狗 更新时间:2023-10-30 03:35:17 25 4
gpt4 key购买 nike

我不知道如何从 NSDecimalnumber 中获取整数和小数值。

例如,如果我有 10,5,如何得到 10 和 5?

如果我有 10 和 5,如何返回到 10,5?


嗯,好的,看起来好多了!

但是我担心丢失小数点。

这是一个国际化的应用程序。例如,如果用户设置价格“124,2356”,我想加载并保存确切的数字。


嗯,好的,就是这样,但不尊重小数位的#。如果存在一种方法可以从我设置的当前本地知道这一点。

这是因为它代表货币值(value)...

最佳答案

我使用 2 作为比例,因为您说过这是针对货币的,但您可以选择使用其他舍入比例。我也忽略了舍入可能带来的任何异常,因为这是一个非常简单的示例。

NSDecimalNumberHandler *behavior = [NSDecimalNumberHandler decimalNumberHandlerWithRoundingMode:NSRoundDown scale:0 raiseOnExactness:NO raiseOnOverflow:NO raiseOnUnderflow:NO raiseOnDivideByZero:NO];
NSDecimalNumber *price = /* eg. 10.5 */;
NSDecimalNumber *dollars = [price decimalNumberByRoundingAccordingToBehavior: behavior];
NSDecimalNumber *cents = [price decimalNumberBySubtracting: dollars];

dollarscents 变量分别为 10 和 0.5。如果您想要整数,您可以使用此方法将您的 cents 乘以 10 的幂。

cents = [cents decimalNumberByMultiplyingByPowerOf10: 2];

依次将 cents 乘以 100,得到 10 和 5 dollarscents。您还应该知道,您可以在这里使用 10 的负次方进行除法。

所以,

cents = [cents decimalNumberByMultiplyingByPowerOf10: -2];

会撤销最后一个方法。

关于objective-c - 如何在十进制和整数之间拆分 NSDecimalnumber 并返回,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/488376/

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