Go formatFloat:将浮点数转换为字符串

Go formatFloat:将浮点数转换为字符串,go,Go,如何将浮点数转换为字符串格式? 这是谷歌游乐场,但没有得到预期的输出。(2e+07) 我想要“21312421.213123” 请帮我从浮点数中取出字符串。谢谢 如果您只需要尽可能多的数字精度,那么特殊精度-1使用所需的最小位数,以便ParseFloat将精确返回f。乙二醇 strconv.FormatFloat(input_num, 'f', -1, 64) 我个人觉得fmt更容易使用。() 或者如果您只是想转换字符串 fmt.Sprintf("%.6f", 21312421.213123)

如何将浮点数转换为字符串格式? 这是谷歌游乐场,但没有得到预期的输出。(2e+07) 我想要“21312421.213123”

请帮我从浮点数中取出字符串。谢谢

如果您只需要尽可能多的数字精度,那么特殊精度-1使用所需的最小位数,以便ParseFloat将精确返回f。乙二醇

strconv.FormatFloat(input_num, 'f', -1, 64)
我个人觉得
fmt
更容易使用。()

或者如果您只是想转换字符串

fmt.Sprintf("%.6f", 21312421.213123)

+1 for
strconv.FormatFloat
-我没有意识到这一点,但可能值得注意的是,
fmt
,虽然使用起来更好,但会比直接函数调用慢一点,因为它必须进行大量的解析才能弄清楚您想要什么,然后才调用
strconv.FormatFloat
。我在
FloatFormat
中更新了关于精度-1的部分,这是您想要的。FormatFloat中的“f”是什么?我不明白。@Bruce“f”控制格式-有关详细信息,请参阅。@gpanda很遗憾,您的精度不够。您的数字在float64中有74位,而float64只能存储56位:-(如果您想要更高的精度,请查看
fmt.Sprintf(“%.6f”,input_num)
将浮点设置为字符串。请参阅。
strconv.ParseFloat(f,64)
将字符串设置为浮点。请参阅。
strconv.FormatFloat(input_num, 'f', -1, 64)
fmt.Printf("x = %.6f\n", 21312421.213123)
fmt.Sprintf("%.6f", 21312421.213123)