fix test error

This commit is contained in:
chiahung 2023-03-10 17:03:39 +08:00
parent 36f48bc604
commit 291a6f273a
2 changed files with 9 additions and 9 deletions

View File

@ -121,7 +121,7 @@ func (v Value) FormatString(prec int) string {
// trunc precision
precDiff := DefaultPrecision - prec
if precDiff > 0 {
powDiff := int64(math.Pow10(precDiff))
powDiff := int64(math.Round(math.Pow10(precDiff)))
u = int64(v) / powDiff * powDiff
}

View File

@ -10,49 +10,49 @@ func Test_FormatString(t *testing.T) {
assert := assert.New(t)
t.Run("Value(57000000) with prec = 5, expected 0.57", func(t *testing.T) {
v := Value(57000000)
v := MustNewFromString("0.57")
s := v.FormatString(5)
assert.Equal("0.57000", s)
})
t.Run("Value(57123456) with prec = 5, expected 0.57123", func(t *testing.T) {
v := Value(57123456)
v := MustNewFromString("0.57123456")
s := v.FormatString(5)
assert.Equal("0.57123", s)
})
t.Run("Value(123456789) with prec = 9, expected 1.23456789", func(t *testing.T) {
v := Value(123456789)
v := MustNewFromString("1.23456789")
s := v.FormatString(9)
assert.Equal("1.234567890", s)
})
t.Run("Value(102345678) with prec = 9, expected 1.02345678", func(t *testing.T) {
v := Value(102345678)
v := MustNewFromString("1.02345678")
s := v.FormatString(9)
assert.Equal("1.023456780", s)
})
t.Run("Value(-57000000) with prec = 5, expected -0.57", func(t *testing.T) {
v := Value(-57000000)
v := MustNewFromString("-0.57")
s := v.FormatString(5)
assert.Equal("-0.57000", s)
})
t.Run("Value(-123456789) with prec = 9, expected 1.23456789", func(t *testing.T) {
v := Value(-123456789)
v := MustNewFromString("-1.23456789")
s := v.FormatString(9)
assert.Equal("-1.234567890", s)
})
t.Run("Value(1234567890) with prec = -1, expected 10", func(t *testing.T) {
v := Value(1234567890)
v := MustNewFromString("12.3456789")
s := v.FormatString(-1)
assert.Equal("10", s)
})
t.Run("Value(-1234) with prec = 3, expected = 0.000", func(t *testing.T) {
v := Value(-1234)
v := MustNewFromString("-0.00001234")
s := v.FormatString(3)
assert.Equal("0.000", s)
})