如何获取货币格式标签的floatValue金额?

时间:2012-02-10 18:50:26

标签: iphone objective-c

我有一个Label,我们称之为currencyFormattedLabel,其值早先在另一种方法中用货币格式化(使用currencyFormatter)。

现在,我想使用该Label中的等效数字。但是,当我去获取数字时,我只得到0.00的值。

也许这有助于解释:

float x = [currencyFormattedLabel.text floatValue];
NSLog(@"x = %.2f", x);

因此,如果currencyFormattedLabel为$ 2.00,则此方法最终会返回:x = 0.00 我想要的是它返回x = 2.00。

有没有办法获取currencyFormattedLabel并获取它的数字值?

感谢您提供任何帮助!

2 个答案:

答案 0 :(得分:1)

NSString中的美元符号正在抛弃。使用NSScanner你会有更好的运气。

NSScanner *scanner = [NSScanner scannerWithString:currencyFormattedLabel.text];
float x;
[scanner scanFloat: &x];
NSLog(@"x = %.2f", x);

答案 1 :(得分:0)

你也可以使用:

float x = [[currencyFormattedTextLabel.text substringFromIndex:1] floatValue];

如果你知道这个号码总是会被美元符号所超越。