回答

收藏

如何将 uint64 转换为字符串

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

我正着用我用的方法打印它string,uint但是没有效果strconv方法组合。
0 m9 C, p) w  ~) Z# ], J; I% a
    log.Println("The amount is: "   strconv.Itoa((charge.Amount)))
    & |8 E3 \1 v# n, L
给我:# d0 o2 e" t; L6 p- {6 f
cannot use charge.Amount (type uint64) as type int in argument to strconv.Itoa我怎样才能打印这个?string?. [' [- R( A4 A8 J
                                                                - _$ d' e1 r% n6 f
    解决方案:                                                                6 i/ c/ {+ {, I7 M
                                                                strconv.Itoa()需要一个 type 值int,所以你必须给它:
+ z' Q# Y9 i& F5 z8 T' E- V# h3 s
    log.Println("The amount is: "   strconv.Itoa(int(charge.Amount)))
    " |4 {# G$ l( C9 k, d, Y
但要知道,如果int是 32 位(和uint6464位),这可能会失去精度,符号也一样。strconv.FormatUint()会更好,因为它需要一种值uint64:" z, V7 |+ r5 [( _8 {' K; y! u6 h
    log.Println("The amount is: "   strconv.FormatUint(charge.Amount,10)), k& l/ D- F3 ~* a/ f) m
如果您的目的只是打印值,则无需将其转换为 toint或 to string,请使用以下一种:
8 ?3 V$ ^/ F% `2 T! N
    log.Println("The amount is:",charge.Amount)log.Printf("The amount is: %d\n",charge.Amount)+ q, j0 L8 A% M
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则