mirror of
https://github.com/golang/go
synced 2024-11-22 04:14:42 -07:00
big: Rat always outputs the requested precision from FloatString
Fixes #1922. R=golang-dev, gri CC=golang-dev https://golang.org/cl/4551098
This commit is contained in:
parent
c281ddf1eb
commit
f35a3df80c
@ -314,7 +314,11 @@ func (z *Rat) RatString() string {
|
|||||||
// digits of precision after the decimal point and the last digit rounded.
|
// digits of precision after the decimal point and the last digit rounded.
|
||||||
func (z *Rat) FloatString(prec int) string {
|
func (z *Rat) FloatString(prec int) string {
|
||||||
if z.IsInt() {
|
if z.IsInt() {
|
||||||
return z.a.String()
|
s := z.a.String()
|
||||||
|
if prec > 0 {
|
||||||
|
s += "." + strings.Repeat("0", prec)
|
||||||
|
}
|
||||||
|
return s
|
||||||
}
|
}
|
||||||
|
|
||||||
q, r := nat{}.div(nat{}, z.a.abs, z.b)
|
q, r := nat{}.div(nat{}, z.a.abs, z.b)
|
||||||
|
@ -86,12 +86,13 @@ var floatStringTests = []struct {
|
|||||||
out string
|
out string
|
||||||
}{
|
}{
|
||||||
{"0", 0, "0"},
|
{"0", 0, "0"},
|
||||||
{"0", 4, "0"},
|
{"0", 4, "0.0000"},
|
||||||
{"1", 0, "1"},
|
{"1", 0, "1"},
|
||||||
{"1", 2, "1"},
|
{"1", 2, "1.00"},
|
||||||
{"-1", 0, "-1"},
|
{"-1", 0, "-1"},
|
||||||
{".25", 2, "0.25"},
|
{".25", 2, "0.25"},
|
||||||
{".25", 1, "0.3"},
|
{".25", 1, "0.3"},
|
||||||
|
{".25", 3, "0.250"},
|
||||||
{"-1/3", 3, "-0.333"},
|
{"-1/3", 3, "-0.333"},
|
||||||
{"-2/3", 4, "-0.6667"},
|
{"-2/3", 4, "-0.6667"},
|
||||||
{"0.96", 1, "1.0"},
|
{"0.96", 1, "1.0"},
|
||||||
|
Loading…
Reference in New Issue
Block a user