diff --git a/Foundation/CPNumberFormatter.j b/Foundation/CPNumberFormatter.j index 3bb9489a9..0dc2e950d 100644 --- a/Foundation/CPNumberFormatter.j +++ b/Foundation/CPNumberFormatter.j @@ -96,11 +96,13 @@ CPNumberFormatterRoundHalfUp = CPRoundPlain; // TODO This is just a temporary solution. Should be generalised. // Add in thousands separators. if (perMillSymbol) - while (commaPosition < [preFraction length]) + { + for (var commaPosition = 3, prefLength = [preFraction length]; commaPosition < prefLength; commaPosition += 4) { - preFraction = [preFraction stringByReplacingCharactersInRange:CPMakeRange(commaPosition, 0) withString:perMillSymbol]; - commaPosition += 4; + preFraction = [preFraction stringByReplacingCharactersInRange:CPMakeRange(prefLength - commaPosition, 0) withString:perMillSymbol]; + prefLength += 1; } + } if (fraction) return preFraction + "." + fraction;