回答

收藏

如何将 uint64 转换为字符串

技术问答 技术问答 508 人阅读 | 0 人回复 | 2023-09-11

我正着用我用的方法打印它string,uint但是没有效果strconv方法组合。9 @) W9 F% O3 a7 a$ l5 v
    log.Println("The amount is: "   strconv.Itoa((charge.Amount)))
    1 _# {  x( @5 f' A1 F) S2 U
给我:
0 Z! Q7 E3 |7 u1 A3 n2 K* Ucannot use charge.Amount (type uint64) as type int in argument to strconv.Itoa我怎样才能打印这个?string?
' {0 `0 X& ~4 y0 b2 C                                                               
7 F7 Z0 P, D! I3 [0 U    解决方案:                                                               
1 Z( Z% X- n- [+ L" x% ^: ^                                                                strconv.Itoa()需要一个 type 值int,所以你必须给它:1 G" g9 A* L% B0 c4 B0 U* }: I
    log.Println("The amount is: "   strconv.Itoa(int(charge.Amount)))% j! t5 d% Z: h6 K7 {
但要知道,如果int是 32 位(和uint6464位),这可能会失去精度,符号也一样。strconv.FormatUint()会更好,因为它需要一种值uint64:: Q9 h) S& Q/ f. [( I2 p( b# G
    log.Println("The amount is: "   strconv.FormatUint(charge.Amount,10)); Y  _' Q9 U' g. {
如果您的目的只是打印值,则无需将其转换为 toint或 to string,请使用以下一种:0 ^) M6 N/ `) K2 @6 ~
    log.Println("The amount is:",charge.Amount)log.Printf("The amount is: %d\n",charge.Amount)
    / k, l# ^$ r( J- W7 z5 R1 \' P
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则