NSNumberFormatter *formatter = [[[NSNumberFormatter alloc] init] autorelease];[formatter setFormatterBehavior:NSNumberFormatterBehavior10_4];[formatter setNumberStyle:NSNumberFormatterDecimalStyle];[formatter setGrouPingSeparator:@"."];[formatter setDecimalSeparator:@","];
但是当我NSLog这个:
NSLog(@"%@",[formatter stringFromNumber:[formatter numberFromString:value]]);
它打印空值.如果我改变一个逗号,它的工作正常.我只想把我想要的分隔符字段(逗号,点,斜杠等)放在我身上,我有不同的输出:例如12 / 000,54 12.000.54 12,000,54.
你知道我能如何处理这个问题吗?
解决方法 我建议不要对分隔符进行硬编码,以确保基于iPhone区域设置的正确的分隔符行为.最简单的方法是:使用目标c
NSNumberFormatter *numberFormatter = [[NSNumberFormatter alloc]init];numberFormatter.locale = [NSLocale currentLocale];// this ensures the right separator behaviornumberFormatter.numberStyle = NSNumberFormatterDecimalStyle;numberFormatter.usesGrouPingSeparator = YES;// example for writing the number object into a labelcell.finalValueLabel.text = [Nsstring StringWithFormat:@"%@",[numberFormatter stringForObjectValue:numberFromString]]; // your var name is not well chosen
使用SWIFT 3
let formatter = NumberFormatter() formatter.locale = NSLocale.current // this ensures the right separator behavior formatter.numberStyle = NumberFormatter.Style.decimal formatter.usesGrouPingSeparator = true // example for writing the number object into a label // your variable "numberFromString" needs to be a NSNumber object finalValueLabel.text = formatter.string(from: numberFromString)! // your var name is not well chosen
并且我不会使用var-name“numberFromString”,因为它是一个NSNumberFormatter方法.祝你好运!
总结以上是内存溢出为你收集整理的ios – NSNumberFormatter用逗号小数点分隔符全部内容,希望文章能够帮你解决ios – NSNumberFormatter用逗号小数点分隔符所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)