gpt4 book ai didi

ios - 读写一个 NSDecimalNumber

转载 作者:行者123 更新时间:2023-11-29 01:56:47 29 4
gpt4 key购买 nike

我在读写 NSDecimalNumbers 时遇到了问题。假设我有这个十进制数:

NSDecimalNumber *myNumber; // this is 123,23

然后我像这样读取它的值并将其显示在文本字段中

self.textField.text = [NSString stringWithFormat:@"%@", myNumber];

它在文本字段中看起来像这样:“123.23”,注意点而不是逗号。如果我像这样再次尝试将其读入属性,小数点将被排除在外。 123 是唯一被读取的内容:

myNumber = [NSDecimalNumber decimalNumberWithString:self.textField.text];

但是如果我使用 UIKeyboardTypeDecimalPad 和一个逗号 用键盘写 123,23,它就可以正常工作。这是为什么?

谢谢!

最佳答案

格式化小数是个问题。通常,您必须使用 [NSDecimalNumber descriptionWithLocale: ]。这将本地化小数点分隔符。

self.textField.text = [NSString stringWithFormat:@"%@", [myNumber descriptionWithLocale:[NSLocale currentLocale]];

如果您需要其他格式,例如限制小数位数或添加分组分隔符,您可以使用 NSNumberFormatter,但是 NSNumberFormatter 会将所有数字转换为 首先是 double,所以你总是会失去精度。

格式化 NSDecimalNumber 时更强大的解决方案是滚动您自己的格式化程序。

关于ios - 读写一个 NSDecimalNumber,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30752302/

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