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 // trunc precision
precDiff := DefaultPrecision - prec precDiff := DefaultPrecision - prec
if precDiff > 0 { if precDiff > 0 {
powDiff := int64(math.Pow10(precDiff)) powDiff := int64(math.Round(math.Pow10(precDiff)))
u = int64(v) / powDiff * powDiff u = int64(v) / powDiff * powDiff
} }

View File

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