golang.org/x/text/message
软件包允许我们使用国家格式来格式化数字:
const n = 1222333.444555
prEn := message.NewPrinter(language.English)
prEn.Printf("%20.6f\n", n)
// Prints:
// 1,222,333.444555
prRu := message.NewPrinter(language.Russian)
prRu.Printf("%20.6f\n", n)
// Prints:
// 1 222 333,444555
我可以将其与math/big.Rat
一起使用吗?就是这样(不起作用):
rat := big.NewRat(1222333444555, 1000000)
prEn.Printf("%20.6f\n", rat.FloatString(6))
// Should print:
// 1,222,333.444555
我知道我可以用自己的类型包装Rat
并实现fmt.Formatter
,但是也许已经有一种内置方法了?