cockroachdb / cockroachdb/apd

RoundCeil(0.002, -1) != 0.1

Offen
#140 0 Kommentare 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen
Vorherrschende Sprache
Go
Sterne
805
Forks
48
PR-Merge-Kennzahlen
Keine gemergten PRs in 30 T.

Beschreibung

When doing RoundCeiling operation to 0.002 with precision set to -1, we get 0 instead of 0.1.
However for RoundCeiling(1.002, -1) we get 1.1.

```
func TestDecimal_RoundCeil_Bug(t *testing.T) {
var num apd.Decimal
_, _, err := num.SetString("0.002")
if err != nil {
t.Fatal(err)
}
ctx := apd.Context{
Precision: 100,
Rounding: apd.RoundCeiling,
MaxExponent: 1000,
MinExponent: -1000,
Traps: apd.DefaultTraps,
}
_, err = ctx.Quantize(&num, &num, -1)
if err != nil {
t.Fatal(err)
}
if num.String() != "0.1" {
t.Errorf("Expected 0.1, got %s", num.String())
}
}
```

Beitragsleitfaden

Für dieses Repository ist kein Beitragsleitfaden indexiert

Bewertung

Dieses Issue wurde noch nicht bewertet.

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.