mirror of
https://github.com/shopspring/decimal.git
synced 2024-11-23 04:40:49 +01:00
fix: increase default precision to 18 decimals to match precision of assets like ETH
Signed-off-by: Elias Van Ootegem <elias@vega.xyz>
This commit is contained in:
parent
d407fd253f
commit
6eb5468c62
2 changed files with 31 additions and 31 deletions
|
@ -33,15 +33,15 @@ import (
|
||||||
// Example:
|
// Example:
|
||||||
//
|
//
|
||||||
// d1 := decimal.NewFromFloat(2).Div(decimal.NewFromFloat(3))
|
// d1 := decimal.NewFromFloat(2).Div(decimal.NewFromFloat(3))
|
||||||
// d1.String() // output: "0.6666666666666667"
|
// d1.String() // output: "0.666666666666666667"
|
||||||
// d2 := decimal.NewFromFloat(2).Div(decimal.NewFromFloat(30000))
|
// d2 := decimal.NewFromFloat(2).Div(decimal.NewFromFloat(30000))
|
||||||
// d2.String() // output: "0.0000666666666667"
|
// d2.String() // output: "0.000066666666666667"
|
||||||
// d3 := decimal.NewFromFloat(20000).Div(decimal.NewFromFloat(3))
|
// d3 := decimal.NewFromFloat(20000).Div(decimal.NewFromFloat(3))
|
||||||
// d3.String() // output: "6666.6666666666666667"
|
// d3.String() // output: "6666.666666666666666667"
|
||||||
// decimal.DivisionPrecision = 3
|
// decimal.DivisionPrecision = 3
|
||||||
// d4 := decimal.NewFromFloat(2).Div(decimal.NewFromFloat(3))
|
// d4 := decimal.NewFromFloat(2).Div(decimal.NewFromFloat(3))
|
||||||
// d4.String() // output: "0.667"
|
// d4.String() // output: "0.667"
|
||||||
var DivisionPrecision = 16
|
var DivisionPrecision = 18
|
||||||
|
|
||||||
// PowPrecisionNegativeExponent specifies the maximum precision of the result (digits after decimal point)
|
// PowPrecisionNegativeExponent specifies the maximum precision of the result (digits after decimal point)
|
||||||
// when calculating decimal power. Only used for cases where the exponent is a negative number.
|
// when calculating decimal power. Only used for cases where the exponent is a negative number.
|
||||||
|
|
|
@ -1841,13 +1841,13 @@ func TestDecimal_Div(t *testing.T) {
|
||||||
{"2.2", "1.1"}: "2",
|
{"2.2", "1.1"}: "2",
|
||||||
{"-2.2", "-1.1"}: "2",
|
{"-2.2", "-1.1"}: "2",
|
||||||
{"12.88", "5.6"}: "2.3",
|
{"12.88", "5.6"}: "2.3",
|
||||||
{"1023427554493", "43432632"}: "23563.5628642767953828", // rounded
|
{"1023427554493", "43432632"}: "23563.56286427679538279", // rounded
|
||||||
{"1", "434324545566634"}: "0.0000000000000023",
|
{"1", "434324545566634"}: "0.000000000000002302",
|
||||||
{"1", "3"}: "0.3333333333333333",
|
{"1", "3"}: "0.333333333333333333",
|
||||||
{"2", "3"}: "0.6666666666666667", // rounded
|
{"2", "3"}: "0.666666666666666667", // rounded
|
||||||
{"10000", "3"}: "3333.3333333333333333",
|
{"10000", "3"}: "3333.333333333333333333",
|
||||||
{"10234274355545544493", "-3"}: "-3411424785181848164.3333333333333333",
|
{"10234274355545544493", "-3"}: "-3411424785181848164.333333333333333333",
|
||||||
{"-4612301402398.4753343454", "23.5"}: "-196268144782.9138440146978723",
|
{"-4612301402398.4753343454", "23.5"}: "-196268144782.91384401469787234",
|
||||||
}
|
}
|
||||||
|
|
||||||
for inp, expectedStr := range inputs {
|
for inp, expectedStr := range inputs {
|
||||||
|
@ -1880,10 +1880,10 @@ func TestDecimal_Div(t *testing.T) {
|
||||||
|
|
||||||
// test code path where exp > 0
|
// test code path where exp > 0
|
||||||
inputs2 := map[Inp2]string{
|
inputs2 := map[Inp2]string{
|
||||||
{124, 10, 3, 1}: "41333333333.3333333333333333",
|
{124, 10, 3, 1}: "41333333333.333333333333333333",
|
||||||
{124, 10, 3, 0}: "413333333333.3333333333333333",
|
{124, 10, 3, 0}: "413333333333.333333333333333333",
|
||||||
{124, 10, 6, 1}: "20666666666.6666666666666667",
|
{124, 10, 6, 1}: "20666666666.666666666666666667",
|
||||||
{124, 10, 6, 0}: "206666666666.6666666666666667",
|
{124, 10, 6, 0}: "206666666666.666666666666666667",
|
||||||
{10, 10, 10, 1}: "1000000000",
|
{10, 10, 10, 1}: "1000000000",
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -3465,15 +3465,15 @@ func TestAtan(t *testing.T) {
|
||||||
"11000020.2407442310156021090304691671842603586882014729198302312846062338790031898128063403419218957424",
|
"11000020.2407442310156021090304691671842603586882014729198302312846062338790031898128063403419218957424",
|
||||||
}
|
}
|
||||||
sols := []string{
|
sols := []string{
|
||||||
"-1.24076438822058001027437062753106",
|
"-1.240764388220579999547768369366663257",
|
||||||
"-0.78539816339744833061616997868383",
|
"-0.78539816339744828061616997868383",
|
||||||
"-0.24497866312686415",
|
"-0.24497866312686415525",
|
||||||
"0.0",
|
"0.0",
|
||||||
"0.318747560420644443",
|
"0.31874756042064443706",
|
||||||
"0.78539816339744833061616997868383",
|
"0.78539816339744828061616997868383",
|
||||||
"1.37340076694501580123233995736766",
|
"1.37340076694501580283233995736766",
|
||||||
"1.47112767430373453123233995736766",
|
"1.47112767430373453363233995736766",
|
||||||
"1.57079623588597296123259450235374",
|
"1.570796235885972930232590411452263405",
|
||||||
}
|
}
|
||||||
for i, inp := range inps {
|
for i, inp := range inps {
|
||||||
d, err := NewFromString(inp)
|
d, err := NewFromString(inp)
|
||||||
|
@ -3585,15 +3585,15 @@ func TestTan(t *testing.T) {
|
||||||
"11000020.2407442310156021090304691671842603586882014729198302312846062338790031898128063403419218957424",
|
"11000020.2407442310156021090304691671842603586882014729198302312846062338790031898128063403419218957424",
|
||||||
}
|
}
|
||||||
sols := []string{
|
sols := []string{
|
||||||
"0.2261415650505790298980791606748881031998682652",
|
"0.226141565050579040350913677374961771568775128386",
|
||||||
"-1.5574077246549025",
|
"-1.557407724654902476",
|
||||||
"-0.255341921221036275",
|
"-0.2553419212210362665",
|
||||||
"0.0",
|
"0.0",
|
||||||
"0.342524867530038963",
|
"0.34252486753003894782",
|
||||||
"1.5574077246549025",
|
"1.557407724654902476",
|
||||||
"-3.3805150062465829",
|
"-3.380515006246583017",
|
||||||
"0.6483608274590872485524085572681343280321117494",
|
"0.64836082745908726868517993033985905508029854441",
|
||||||
"0.68351325561491170753499935023939368502774607234006019034769919811202010905597996164029250820702097041244539696",
|
"0.6835132556149117039375485965437720350182539298544980382184903605930387213483425583662733693301829283609140225056",
|
||||||
}
|
}
|
||||||
for i, inp := range inps {
|
for i, inp := range inps {
|
||||||
d, err := NewFromString(inp)
|
d, err := NewFromString(inp)
|
||||||
|
|
Loading…
Reference in a new issue