Tag: nsnumberformatter

限制双精度到小数点后两位,不能有零

我读了这个和那个 。 我完全需要这个: 1.4324 =>“1.43” 9.4000 =>“9.4” 43.000 =>“43” 9.4 =>“9.40”(错误) 43.000 =>“43.00”(错误) 在这两个问题的答案指向NSNumberFormatter 。 所以应该很容易实现,但不适合我。 – (void)viewDidLoad { [super viewDidLoad]; UILabel *myLabel = [[UILabel alloc] initWithFrame:CGRectMake(50, 100, 200, 20)]; NSNumberFormatter *doubleValueWithMaxTwoDecimalPlaces = [[NSNumberFormatter alloc] init]; [doubleValueWithMaxTwoDecimalPlaces setNumberStyle:NSNumberFormatterDecimalStyle]; [doubleValueWithMaxTwoDecimalPlaces setPaddingPosition:NSNumberFormatterPadAfterSuffix]; [doubleValueWithMaxTwoDecimalPlaces setFormatWidth:2]; NSNumber *myValue = [NSNumber numberWithDouble:0.01234]; //NSNumber *myValue = [NSNumber numberWithDouble:0.1]; myLabel.text = [doubleValueWithMaxTwoDecimalPlaces […]

将货币格式重新应用于更改事件的UITextField

我正在处理包含本地货币值的UITextField。 我已经看到了很多关于如何处理这个问题的post,但是我的问题是:如何在每次按键之后重新将货币格式应用到UITextField? 我知道我可以设置和使用货币格式化程序: NSNumberFormatter *currencyFormatter = [[NSNumberFormatter alloc] init]; [currencyFormatter setNumberStyle:NSNumberFormatterCurrencyStyle]; … [currencyFormatter stringFromNumber:…]; 但我不知道如何挂钩。 例如,如果该字段中的值为“$ 12,345”,而用户点击“6”键,则该值将变为“$ 123,456”。 哪个callback是“正确的”(我应该使用textField:shouldChangeCharactersInRange:replacementString:还是一个自定义的target-action),以及如何使用NSNumberFormatter来parsing和重新应用格式到UITextField的文本属性? 任何帮助将不胜感激! 谢谢!

在Swift中与NSNumberFormatter挣扎货币

我正在创build一个预算应用程序,允许用户input他们的预算以及交易。 我需要允许用户从单独的文本字段input便士和磅,他们需要与货币符号一起格式化。 目前我的工作状态良好,但是希望将其作为目前的本地化版本,只适用于英镑。 我一直在努力把NSNumberFormatter的例子从Objective C转换到Swift。 我的第一个问题是,我需要将input字段的占位符设置为特定于用户的位置。 例如。 英镑和便士,美元和美分等 第二个问题是需要格式化每个文本字段(如10216和32)中input的值,并且需要添加特定于用户位置的货币符号。 所以它会变成10,216.32英镑或者10,216.32美元等等。 另外,我需要在计算中使用格式化数字的结果。 那么,如何解决这个问题而不会遇到问题而不会遇到货币符号的问题呢? 任何帮助将不胜感激。

如何使用Swift在文本字段(从右到左)input货币格式?

我有一个数字让我们说0.00 。 当用户点击1时,我们应该有0.01 当用户点击2.我们应该显示0.12 当用户点击3.我们应该显示1.23 当用户点击4.我们应该显示12.34 我怎么能用Swift来做到这一点?