internal/number: fix grouping placement bug
Change-Id: I63a802fbfafe6b758e1a173bf3753e9084b31326
Reviewed-on: https://go-review.googlesource.com/46250
Run-TryBot: Marcel van Lohuizen <mpvl@golang.org>
Reviewed-by: Nigel Tao <nigeltao@golang.org>
diff --git a/internal/number/format.go b/internal/number/format.go
index 9ceaf04..a5f2efd 100755
--- a/internal/number/format.go
+++ b/internal/number/format.go
@@ -192,9 +192,9 @@
minInt = 1
}
// add leading zeros
- for i := numInt; i < minInt; i++ {
+ for i := minInt; i > numInt; i-- {
dst = f.AppendDigit(dst, 0)
- if f.needsSep(minInt - i) {
+ if f.needsSep(i) {
dst = append(dst, f.Symbol(SymGroup)...)
}
}
diff --git a/internal/number/format_test.go b/internal/number/format_test.go
index 850ad82..0ec2440 100755
--- a/internal/number/format_test.go
+++ b/internal/number/format_test.go
@@ -148,6 +148,14 @@
"123456789012": "1,23,45,67,89,012",
"0.123456789": "0.123",
},
+ }, {
+ pattern: "0,00,000.###",
+ test: pairs{
+ "0": "0,00,000",
+ "123456789012": "1,23,45,67,89,012",
+ "12.3456789": "0,00,012.345",
+ "0.123456789": "0,00,000.123",
+ },
// Support for ill-formed patterns.
}, {