【发布时间】:2017-06-14 08:45:00
【问题描述】:
如何将任何可以是 int 或 float64 的给定数字转换为字符串?
使用 strconv.FormatFloat 或 FormatInt 我必须指定给定数字是浮点数或整数。 就我而言,我不知道我得到了什么。
行为:
当我得到5 时,它应该被转换成"5" 而不是"5.00"
当我得到一个1.23 时,它应该被转换成"1.23" 而不是"1"
【问题讨论】:
如何将任何可以是 int 或 float64 的给定数字转换为字符串?
使用 strconv.FormatFloat 或 FormatInt 我必须指定给定数字是浮点数或整数。 就我而言,我不知道我得到了什么。
行为:
当我得到5 时,它应该被转换成"5" 而不是"5.00"
当我得到一个1.23 时,它应该被转换成"1.23" 而不是"1"
【问题讨论】:
您可以使用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)
}
【讨论】:
如果您不知道需要转换为字符串的数字是什么类型,您可以将fmt.Sprintf 与%v 动词一起使用:
fmt.Sprintf("%v", 1.23) // "1.23"
fmt.Sprintf("%v", 5) // "5"
【讨论】: