如何在Golang中将数字(int或float64)转换为字符串

6
如何将任意给定的数字,无论是整数还是float64类型,转换为字符串?
使用strconv.FormatFloat或FormatInt时,必须指定给定数字是浮点数还是整数。在我的情况下,我不知道会得到什么类型的数字。
行为:
当我获得一个5时,它应该被转换为"5"而不是"5.00"。
当我获得1.23时,它应该被转换为"1.23"而不是"1"。
2个回答

17

您可以使用fmt.Sprint

fmt.Sprint返回传递给它的任何变量的字符串格式

示例

package main

import (
    "fmt"
)

func main() {
    f := fmt.Sprint(5.03)
    i := fmt.Sprint(5)
    fmt.Println("float:",f,"\nint:",i)
}

play链接


2
如果您不知道需要转换为字符串的数字类型,您可以使用带有%v动词的fmt.Sprintf来进行转换:
fmt.Sprintf("%v", 1.23) // "1.23"
fmt.Sprintf("%v", 5) // "5"

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接