在iOS13上我使用如下代码来转换本地化的价格,但是在iOS14上它不起作用,显示的价格总是以美元的数值和单位来显示
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setFormatterBehavior:NSNumberFormatterBehavior10_4];
[formatter setNumberStyle:NSNumberFormatterCurrencyStyle];
[formatter setLocale:product.priceLocale];
return [formatter stringFromNumber:product.price];
}
return @"";
}
我不明白这是为什么,代码没变,在iOS13之前是正常的,但是iOS14之后的效果却不一样,上面代码的 product.priceLocale 换成 [NSLocale currentLocale],时也只是改变了货币符号,但是货币的数值没有改变?($3.99 -> ¥3.99),这是为什么?
(NSString *)getLocalePrice:(SKProduct *)product {
NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init];
[formatter setFormatterBehavior:NSNumberFormatterBehavior10_4];
[formatter setNumberStyle:NSNumberFormatterCurrencyStyle];
[formatter setLocale:product.priceLocale];
return [formatter stringFromNumber:product.price];
}
return @"";
}
我不明白这是为什么,代码没变,在iOS13之前是正常的,但是iOS14之后的效果却不一样,上面代码的 product.priceLocale 换成 [NSLocale currentLocale],时也只是改变了货币符号,但是货币的数值没有改变?($3.99 -> ¥3.99),这是为什么?