diff --git a/README.md b/README.md index 261d348..7256530 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,8 @@ Arbitrary-precision fixed-point decimal numbers in go. _Note:_ Decimal library can "only" represent numbers with a maximum of 2^31 digits after the decimal point. +_Note:_ The library does not remove trailing zeros when parsing decimals from strings, e.g., `1.18` does not internally equal `1.1800` when parsing with this library, see example in usage + ## Features * The zero-value is 0, and is safe to use without initialization @@ -59,6 +61,32 @@ func main() { } ``` +Conservation of precision with trailing zeros. This conservation is, however, +not translated backwards when printing the decimal as string. + +This is important to know. + +```go +package main + +import ( + "fmt" + "github.com/shopspring/decimal" +) + +func main() { + noZeros := "1.18" + trailingZeros := "1.1800" + + d1 := decimal.RequireFromString(noZeros) + d2 := decimal.RequireFromString(trailingZeros) + + fmt.Println(d1.Coefficient(), d1.Exponent()) // 118 -2 + fmt.Println(d2.Coefficient(), d2.Exponent()) // 118 -4 + fmt.Println(d1) // 1.18 + fmt.Println(d2) // 1.18 +``` + ## Documentation http://godoc.org/github.com/shopspring/decimal