From 7e562fa3aa6d378ba0c4cb03f8ae5d2c687a8f7f Mon Sep 17 00:00:00 2001 From: Alexander Ljungberg Date: Sat, 21 Jul 2012 13:08:54 +0100 Subject: [PATCH] Fixes #1624. Fix grouping for `CPNumberFormatter`. --- Foundation/CPNumberFormatter.j | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) 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;