我正在使用NSNumberFormatter
格式化我的应用中的数字。
我刚刚发现了一个问题,涉及两个添加的数字,然后用数字格式器格式化它们。
NSNumberFormatter
的配置如下
var formatter = NSNumberFormatter();
formatter.positiveFormat = "#,###,##0.00 ¤";
formatter.formatterBehavior = NSNumberFormatterBehavior.Behavior10_4
formatter.numberStyle = NSNumberFormatterStyle.CurrencyStyle
formatter.maximumFractionDigits = 2;
formatter.minimumFractionDigits = 2;
formatter.locale = NSLocale.currentLocale();
然后我有以下号码
var number1: Float = 0.1;
println(formatter.stringFromNumber(number1)); // output: "0.10 €"
这个号码
var number2: Float = 500000;
println(formatter.stringFromNumber(number2)); // output: "500,000.00 €"
两个输出都是正确的。
现在我这样做:
var combined:Float = number1 + number2;
println(formatter.stringFromNumber(combined)); // output: "500,000.09 €"
为什么结果是500,000.09而不是500,000.10?