无论如何,在objective-c中是否可以确定一种货币是否使用小数点(无论声明的NSNumber类型如何)?
我有多个语言环境,并且我使用NSNumberFormatter(基于语言环境)来设置字符串货币字符串样式,但是事前我想知道所选的语言环境货币是否使用小数点。
[_cf setLocale:
[NSLocale localeWithLocaleIndentifier:[NSString stringWithFormat:@"%@",locale]]]];
[cf setNumberStyle:NSNUmberFormatterCurrencyStyle];
NSString *value = [cf stringFromNumber:price];
return value;
最佳答案
在创建具有货币样式的NSNumberFormatter
之后,询问格式化程序它有多少个小数位数。
NSInteger maxFractionDigits = cf.maximumFractionDigits;
if (maxFractionDigits == 0) {
// this currency is an integer, not a decimal
}
日元(
¥
)是一个真实的例子。