回答

收藏

如何将 uint64 转换为字符串

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

我正着用我用的方法打印它string,uint但是没有效果strconv方法组合。; z( \6 b% b) U! f7 z' v4 F
    log.Println("The amount is: "   strconv.Itoa((charge.Amount)))
    4 y# @9 Q4 ]7 E% z6 L+ y# L
给我:
: z) S- ?8 g3 ]' H6 m; i- C: K' Bcannot use charge.Amount (type uint64) as type int in argument to strconv.Itoa我怎样才能打印这个?string?& _0 E* k) U- h
                                                               
, i8 M& v. E& q9 X# p' A    解决方案:                                                               
; a/ s) Q3 u$ w1 l                                                                strconv.Itoa()需要一个 type 值int,所以你必须给它:
. i( v4 c9 F2 u
    log.Println("The amount is: "   strconv.Itoa(int(charge.Amount)))
    ( p( W% ]' h# [; l' f- |) R, _
但要知道,如果int是 32 位(和uint6464位),这可能会失去精度,符号也一样。strconv.FormatUint()会更好,因为它需要一种值uint64:1 ?# U: H7 O0 D$ b
    log.Println("The amount is: "   strconv.FormatUint(charge.Amount,10))  F6 ?9 h9 G& T; m  N! I: a
如果您的目的只是打印值,则无需将其转换为 toint或 to string,请使用以下一种:
3 i1 W; u6 I) q6 |6 J3 l0 v8 B
    log.Println("The amount is:",charge.Amount)log.Printf("The amount is: %d\n",charge.Amount)
    4 n+ y2 c9 h9 _9 {
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则