Go-如何将任意int或float转成string

from:https://stackoverflow.com/questions/44539789/how-to-convert-number-int-or-float64-to-string-in-golang

Q: 我如何将给定的任意int或float64类型的数字转义为string类型?如果使用strconv.FormatFloatFormatInt的话我需要提前之前它是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"
PingD

PingD

一个阶段一个目标,多冷静下来思考思考
Chengdu.China