英文:
How to convert number (int or float64) to string in Golang
问题
如何将任意给定的数字(可以是int或float64类型)转换为字符串?
使用strconv.FormatFloat或FormatInt函数,您需要指定给定数字是浮点数还是整数。
在我的情况下,我不知道我得到的是什么类型的数字。
行为:
当我得到一个5
时,它应该被转换为"5"
而不是"5.00"
当我得到一个1.23
时,它应该被转换为"1.23"
而不是"1"
英文:
How do I convert any given number which can be a int or float64 to string ?
Using strconv.FormatFloat or FormatInt I have to specify that the given number is a float or integer.
In my case it is unknown what I get.
Behaviour:
When I get a 5
it should be converted into "5"
and not "5.00"
When I get a 1.23
it should be converted into "1.23"
and not "1"
答案1
得分: 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)
}
英文:
You may use fmt.Sprint
fmt.Sprint
returns string format of any variable passed to it
Sample
package main
import (
"fmt"
)
func main() {
f := fmt.Sprint(5.03)
i := fmt.Sprint(5)
fmt.Println("float:",f,"\nint:",i)
}
答案2
得分: 2
如果你不知道需要转换为字符串的数字的类型,你可以使用fmt.Sprintf
和%v
占位符:
fmt.Sprintf("%v", 1.23) // "1.23"
fmt.Sprintf("%v", 5) // "5"
英文:
If you don't know what type the number you need to convert to string will be, you can just use fmt.Sprintf
with the %v
verb:
fmt.Sprintf("%v", 1.23) // "1.23"
fmt.Sprintf("%v", 5) // "5"
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论