internal/number: convert non-numbers to NaN Change-Id: I378d586b72bd577aabee482372199902666dbccb Reviewed-on: https://go-review.googlesource.com/58911 Run-TryBot: Marcel van Lohuizen <mpvl@golang.org> Reviewed-by: Nigel Tao <nigeltao@golang.org>
diff --git a/internal/number/decimal.go b/internal/number/decimal.go index 443c69e..a66dc13 100644 --- a/internal/number/decimal.go +++ b/internal/number/decimal.go
@@ -332,6 +332,8 @@ case uint64: d.ConvertInt(r, unsigned, f) + default: + d.NaN = true // TODO: // case string: if produced by strconv, allows for easy arbitrary pos. // case reflect.Value:
diff --git a/internal/number/decimal_test.go b/internal/number/decimal_test.go index 7860459..b017b39 100644 --- a/internal/number/decimal_test.go +++ b/internal/number/decimal_test.go
@@ -284,6 +284,7 @@ {math.Inf(1), inc50, "Inf"}, {math.Inf(-1), inc50, "-Inf"}, {math.NaN(), inc50, "NaN"}, + {"clearly not a number", scale2, "NaN"}, } for _, tc := range testCases { var d Decimal