我有一个用户输入的字符串,这个字符串被视为只有数字,例如:"3472042"
。
然后我将此字符串转换为double值,但我希望将其格式化为货币值,例如:3.472,042
就像Java中的DecimalFormat一样有用。
我尝试过NSNumberFormatter的一些东西,但没有运气。任何人都可以帮我一把吗?
首先使用它:
NSString *string = txtOtherPower.text; NSCharacterSet *removeCharSet = [NSCharacterSet characterSetWithCharactersInString:@"•€£¥./:;@#$%&*(){}[]!?\\-|_=+\"`'~^abcdefghijklmnopqrstvwxyz' '"]; string = [[string componentsSeparatedByCharactersInSet:removeCharSet] componentsJoinedByString:@""];
这样唯一可接受的字符是逗号","
和数字。
问题是,如果我键入类似"2,2,2,2,,,,,1,,2"
的内容,那么它就不会做任何事情。
那与我的字符串/数字混淆。
我需要完全格式化的货币价值......任何想法?
答案 0 :(得分:4)
创建NSNumberFormatter
,将其样式设置为NSNumberFormatterCurrencyStyle
或NSNumberFormatterDecimalStyle
(或者,如果这些样式不适合您,请使用setPositiveFormat:
,{{ 1}}等),然后将数字转换为setNegativeFormat:
的字符串。
有关详细信息,请参阅此课程的文档。