首页 > 解决方案 > 获取小数点后的位数

问题描述

获取货币小数点后位数的惯用方法是什么?更具体地说,基于 ISO 4217 的维基百科页面,我想要货币代码/小数点后位数之间的以下映射:

是否有图书馆可以为我获取这些信息?

标签: gocurrency

解决方案


我建议查看x/text/currency 库

它具有获取标准、现金或会计环境中的货币应该使用多少小数的功能。例如:

currencyNames := []string{"USD", "JPY", "EUR"}
for _, currencyName := range currencyNames {
        isoCurrency := currency.MustParseISO(currencyName)
        scale , _ := currency.Standard.Rounding(isoCurrency)
        fmt.Printf("%s: %d\n", currencyName, scale)
}

给出:

USD: 2
JPY: 0
EUR: 2

根据您希望如何处理这些信息,该库中的一些格式化函数可能更接近您的最终目标。

一个警告,如链接文档页面所述:

注意:格式化功能目前正在开发中,如有更改,恕不另行通知。


推荐阅读