舍入Golang中的所有小数点

时间:2018-08-27 23:37:29

标签: go rounding

我试图以非常规方式将float64变量中的所有数字四舍五入。例如:

3.4444445-> 3.5

我希望不将其转换为字符串!

1 个答案:

答案 0 :(得分:3)

Golang的数学库提供了PropertiesPersistingMetadataStore函数。但是,它将float64舍入为一个int,这意味着会丢失小数。

对此的快速解决方法是将数字乘以要保存的小数位数,然后四舍五入,然后再除以:

.properties

会给您想要的结果。

您可能想创建一个小助手功能来舍入保存任意数量的数字:

Round

用法:

raw := 4.335
rounded := math.Round(raw * 10) / 10