如何格式化双倍格式?例如:3.234,12

时间:2010-11-16 12:35:34

标签: iphone cocoa-touch formatting

我有一个用户输入的字符串,这个字符串被视为只有数字,例如:"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"的内容,那么它就不会做任何事情。 那与我的字符串/数字混淆。

我需要完全格式化的货币价值......任何想法?

1 个答案:

答案 0 :(得分:4)

创建NSNumberFormatter,将其样式设置为NSNumberFormatterCurrencyStyleNSNumberFormatterDecimalStyle(或者,如果这些样式不适合您,请使用setPositiveFormat:,{{ 1}}等),然后将数字转换为setNegativeFormat:的字符串。

有关详细信息,请参阅此课程的文档。