• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
merize
博客园    首页    新随笔    联系   管理    订阅  订阅

golang类型转换小总结

1. int <--> string

1.1. int --> string

str := strconv.Itoa(intVal)

当然,整数转换成字符串还有其他方法,比如

fmt.Sprintf
strconv.FormatInt

1.2. string --> int

intVal,err := strconv.Atoi(str)

2. string --> int64

2.1. string --> int64

int64Val,err := strconv.ParseInt(str, 10, 64)

2.2. int64 --> string

str := strconv.FormatInt(int64Val, 10)

其中FormatInt第二个参数表示进制,10表示十进制

需要注意转换规定

FormatInt returns the string representation of i in the given base, for 2 <= base <= 36.
The result uses the lower-case letters 'a' to 'z' for digit values >= 10
 

3. float --> string

3.1. float --> string

v := 3.1415926535
s1 := strconv.FormatFloat(v, 'E', -1, 32)//float32
s2 := strconv.FormatFloat(v, 'E', -1, 64)//float64
 
第二个参数可选'f'/'e'/'E'等,含义如下:
 'b' (-ddddp±ddd,二进制指数)
 'e' (-d.dddde±dd,十进制指数)
 'E' (-d.ddddE±dd,十进制指数)
 'f' (-ddd.dddd,没有指数)
 'g' ('e':大指数,'f':其它情况)
 'G' ('E':大指数,'f':其它情况)
 

3.2. string --> float

s := "3.1415926535"
v1, err := strconv.ParseFloat(v, 32)
v2, err := strconv.ParseFloat(v, 64)

 

4.float --> int

var a int64
a = 1
var b float64
b = 2.000

4.1. float --> int

d := int64(b)

4.2. int --> float

c := float64(a)

 

 

 
posted @ 2018-11-30 08:43  sukii  阅读(454)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3