我有一个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并获取它的数字值?
感谢您提供任何帮助!
答案 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];
如果你知道这个号码总是会被美元符号所超越。