gpt4 book ai didi

iphone - 带 $ 符号的自定义数字键盘

转载 作者:行者123 更新时间:2023-12-03 20:27:59 26 4
gpt4 key购买 nike

好的,我有一个自定义数字键盘,可以在标签(numberField)中将数字显示为 0.00,现在我需要它显示 $0.00。

NSString *digit = sender.currentTitle;
numberField.text = [numberField.text stringByAppendingString:digit];

NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc] init];
[numberFormatter setNumberStyle:NSNumberFormatterDecimalStyle];
[numberFormatter setGroupingSeparator:@""];
[numberFormatter setMaximumIntegerDigits:4];
[numberFormatter setMaximumFractionDigits:2];
[numberFormatter setMaximumFractionDigits:2];

numberField.text = [numberField.text stringByReplacingOccurrencesOfString:@"." withString:@""];
NSDecimalNumber *currency = [[NSDecimalNumber decimalNumberWithString:numberField.text] decimalNumberByDividingBy: [NSDecimalNumber decimalNumberWithString:@"100"]];
NSString *numberFieldFormat = [numberFormatter stringFromNumber:currency];
numberField.text = numberFieldFormat;

我尝试了 $%1.2f 但它崩溃了,因为它无法将 $ 符号识别为数字。有人可以帮我吗?或者有更好的方法来制作带有 $ 符号的自定义垫?

**编辑 我正在考虑将 numberField 设置为隐藏标签(alpha 0),并将副本(numberField2)直接放在顶部并通过 stringWithFormat 运行它。它有效,但我认为可能有一种更干净的方法。

最佳答案

您不希望它显示$0.00。如果我在英国怎么办?难道我不希望它显示 £0.00 吗?

您似乎错误地使用了 NSNumberFormatter。下面介绍了如何设置货币数字的格式:

NSNumberFormatter *f = [[NSNumberFormatter alloc] init];
[f setNumberStyle:NSNumberFormatterCurrencyStyle];
NSString *string = [f stringFromNumber:[NSNumber numberWithFloat:1234.56]];
[f release];

无论您的区域设置如何,这都会正确格式化内容。它将使用正确的货币符号、正确的千位分隔符和正确的小数分隔符。尝试自己重新创建此功能是一个坏主意™。

关于iphone - 带 $ 符号的自定义数字键盘,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10889578/

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