Go-如何将任意int或float转成string
2021-04-07 15:24:07Q: 我如何将给定的任意int或float64类型的数字转义为string类型?如果使用strconv.FormatFloat
或FormatInt
的话我需要提前之前它是int或float才行,当我们提前不知道它们类型且不知道float的有效数字长度的情况下怎么格式化?
比如:
当我得到一个数字5
,它应该被转成“5”而不是“5.00”;
当我得到一个小数1.23
,它应该被转成“1.23”而不是“1”
A1: 我们可以使用fmt.Sprint
,它会将任意类型的变量转换成string
package main
import (
"fmt"
)
func main() {
f := fmt.Sprint(5.03)
i := fmt.Sprint(5)
fmt.Println("float:",f,"\nint:",i)
}
A2: 当我们在不知道具体是哪种类型时,我们也可以使用的fmt.Sprintf
的%v
方式:
fmt.Sprintf("%v", 1.23) // "1.23"
fmt.Sprintf("%v", 5) // "5"