我从文件中读取了一个浮点数,必须将其转换为字符串。我的问题是我不确定小数点后会有几位数。我需要精确地将float转换为字符串。
For ex:
1.10 should be converted to "1.10"
Also,
1.5 should be converted to "1.5"
Can someone suggest how to go about this?
答案 0 :(得分:3)
答案 1 :(得分:2)
func main() {
var x float32
var y string
x= 10.5
y = fmt.Sprint(x)
fmt.Println(y)
}
答案 2 :(得分:1)
FormatFloat根据fmt和precision prec格式将浮点数f转换为字符串。假设原始结果是从bitSize位的浮点值(float32为32,float64为64)获得的,则对结果取整。
func FormatFloat(f float64,fmt byte,prec,bitSize int)字符串
f := 3.14159265
s := strconv.FormatFloat(f, 'E', -1, 64)
fmt.Println(s)
输出为“ 3.14159265”
另一种方法是使用fmt.Sprintf
s := fmt.Sprintf("%f", 123.456)
fmt.Println(s)
输出为“ 123.456000”
检查play ground上的代码
答案 3 :(得分:0)
一行,仅此而已:)
str := fmt.Sprint(8.415)