小编典典

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

go

http://golang.org/pkg/strconv/

http://play.golang.org/p/4VNRgW8WoB

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

package main

import "fmt"
import "strconv"

func floattostr(input_num float64) string {

        // to convert a float number to a string
    return strconv.FormatFloat(input_num, 'g', 1, 64)
 }

 func main() {
      fmt.Println(floattostr(21312421.213123))
      // what I expect is "21312421.213123" in string format
 }

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


阅读 341

收藏
2020-07-02

共1个答案

小编典典

试试这个

package main

import "fmt"
import "strconv"

func FloatToString(input_num float64) string {
    // to convert a float number to a string
    return strconv.FormatFloat(input_num, 'f', 6, 64)
}

func main() {
    fmt.Println(FloatToString(21312421.213123))
}

如果只想获得尽可能高的位数精度,则特殊精度-1使用所需的最小位数,以使ParseFloat准确返回f。例如

strconv.FormatFloat(input_num, 'f', -1, 64)

我个人觉得fmt更容易使用。(游乐场链接

fmt.Printf("x = %.6f\n", 21312421.213123)

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

fmt.Sprintf("%.6f", 21312421.213123)
2020-07-02