I am using NSNumberFormatter
to format numbers in my application.
I just recently discovered an issue involving two added numbers and then formatting them with the numberformatter.
The configuration for the NSNumberFormatter
is as follows
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();
Then I have the following number
var number1: Float = 0.1;
println(formatter.stringFromNumber(number1)); // output: "0.10 €"
And this number
var number2: Float = 500000;
println(formatter.stringFromNumber(number2)); // output: "500,000.00 €"
Both outputs are correct.
Now I do this:
var combined:Float = number1 + number2;
println(formatter.stringFromNumber(combined)); // output: "500,000.09 €"
Why is the result 500,000.09 and not 500,000.10 ?