使用Go我试图找到将浮点数格式化为字符串的“最佳”方式。我已经找过例子,但是我找不到任何具体回答我的问题。我想要做的就是使用“最佳”方法将浮点数格式化为字符串。小数位数可能会有所不同,但会是已知的(例如2或4或零)。 我想达到的一个例子如下。 基于下面的例子,我应该使用 fmt.Sprintf() 或 strconv.FormatFloat() 或 别的东西? 和,每个的正常用法和每个之间的区别是什么?如何使用Go将浮点数格式化为字符串
我也不懂在当前具有32以下使用32或64的显着性:
strconv.FormatFloat(float64(fResult), 'f', 2, 32)
实施例:
package main
import (
"fmt"
"strconv"
)
func main() {
var (
fAmt1 float32 = 999.99
fAmt2 float32 = 222.22
)
var fResult float32 = float32(int32(fAmt1*100) +int32(fAmt2*100))/100
var sResult1 string = fmt.Sprintf("%.2f", fResult)
println("Sprintf value = " + sResult1)
var sResult2 string = strconv.FormatFloat(float64(fResult), 'f', 2, 32)
println("FormatFloat value = " + sResult2)
}
看看[Go,Golang,formatFloat:将浮点数转换为字符串](http://stackoverflow.com/a/19101700/562769)。有一个更好的答案。 –