如何将 uint64 转换为字符串
How to convert uint64 to string
我正在尝试使用 uint64
打印 string
,但我使用的 strconv
方法组合没有效果。
log.Println("The amount is: " + strconv.Itoa((charge.Amount)))
给我:
cannot use charge.Amount (type uint64) as type int in argument to strconv.Itoa
如何打印此 string
?
strconv.Itoa()
需要一个 int
类型的值,所以你必须给它:
log.Println("The amount is: " + strconv.Itoa(int(charge.Amount)))
但是要知道,如果 int
是 32 位(而 uint64
是 64 位),这可能会失去精度,而且 sign-ness 也是不同的。 strconv.FormatUint()
会更好,因为它期望 uint64
:
类型的值
log.Println("The amount is: " + strconv.FormatUint(charge.Amount, 10))
有关更多选项,请参阅此答案:Golang: format a string without printing?
如果您的目的只是打印值,则不需要将其转换为 int
或 string
,请使用以下之一:
log.Println("The amount is:", charge.Amount)
log.Printf("The amount is: %d\n", charge.Amount)
log.Printf("The amount is: %d\n", charge.Amount)
如果您真的想将它保存在一个字符串中,您可以使用 Sprint 函数之一。例如:
myString := fmt.Sprintf("%v", charge.Amount)
如果你想把int64
转换成string
,你可以使用:
strconv.FormatInt(time.Now().Unix(), 10)
或
strconv.FormatUint
如果您是来这里查看如何将字符串转换为 int64 的,那么它是这样完成的:
newNumber, err := strconv.ParseUint("100", 10, 64)
func main() {
var a uint64
a = 3
var s string
s = fmt.Sprint(a)
fmt.Printf("%s", s)
}
我正在尝试使用 uint64
打印 string
,但我使用的 strconv
方法组合没有效果。
log.Println("The amount is: " + strconv.Itoa((charge.Amount)))
给我:
cannot use charge.Amount (type uint64) as type int in argument to strconv.Itoa
如何打印此 string
?
strconv.Itoa()
需要一个 int
类型的值,所以你必须给它:
log.Println("The amount is: " + strconv.Itoa(int(charge.Amount)))
但是要知道,如果 int
是 32 位(而 uint64
是 64 位),这可能会失去精度,而且 sign-ness 也是不同的。 strconv.FormatUint()
会更好,因为它期望 uint64
:
log.Println("The amount is: " + strconv.FormatUint(charge.Amount, 10))
有关更多选项,请参阅此答案:Golang: format a string without printing?
如果您的目的只是打印值,则不需要将其转换为 int
或 string
,请使用以下之一:
log.Println("The amount is:", charge.Amount)
log.Printf("The amount is: %d\n", charge.Amount)
log.Printf("The amount is: %d\n", charge.Amount)
如果您真的想将它保存在一个字符串中,您可以使用 Sprint 函数之一。例如:
myString := fmt.Sprintf("%v", charge.Amount)
如果你想把int64
转换成string
,你可以使用:
strconv.FormatInt(time.Now().Unix(), 10)
或
strconv.FormatUint
如果您是来这里查看如何将字符串转换为 int64 的,那么它是这样完成的:
newNumber, err := strconv.ParseUint("100", 10, 64)
func main() {
var a uint64
a = 3
var s string
s = fmt.Sprint(a)
fmt.Printf("%s", s)
}