无论如何,在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
}


日元(¥)是一个真实的例子。

10-07 12:41
查看更多