一、Go基础知识4、数据类型的转换

一、数据类型的转换

// 浮点数
a := 5.0

// 转换为int类型b := int(a)
//Go允许在底层结构相同的两个类型之间互转。
例如:// IT类型的底层是int类型
type IT int

// a的类型为IT,底层是int
var a IT = 5

// 将a(IT)转换为int,b现在是int类利
b := int(5)

//将b(int)转换为IT,c现在是IT类型
c := IT(b)

var a int32 = 1
var b int64 = 3
b = int64(a)
fmt.PrintIn(a, b)

var a int = 12
var b = uint8(a)

var f floot32 = 3.14
var c = int32(f)

var f64 = float64(a)
fmt.Println(f64)

type IT int //类型要求很严格
var C IT = IT(a)

// 字符串转数字
var istr = “12”
myint, err := strconv.Atoi(istr)
if err != nil {
fmt.Println(“convert error”)
}
fmt.Println(myint)

// 数字转字符串
var myi = 32
fmt.Println(strconv.Itoa(myi))

二、Parse字符串转换

// 字符串转换为float64,转换为bool
strconv.ParseFloat(“3.1415926”, 64)
// 解释:ParseFloat是调用的方法,"3.1415926"是我要转换为浮点数的字符串,64是我要转换的位数float64。

同理,ParseInt方法,第一个参数是要转换为整数的字符串,第二个参数是要转换的整数的进制(填数字就行),第三个参数是位数。

ParseBool方法,只有一个参数,这个参数是需要转换的字符串,其中,对应可转换的字符串如下:
true:“1”, “t”, “T”, “true”, “TRUE”, “True”
false: “0”, “f”, “F”, “false”, “FALSE”, “False”
如果字符串不是以上这些,转换时会显示false即自动默认零值false。

三、Format格式化转换

1、基本类型转字符串

1.1、bool -> string

boolStr := strconv.FormatBool(true)
结果:“true”

1.2、float -> string

floatStr := strconv.FormatFloat(3.1415, ‘E’, -1, 64)
结果:“3.1415E+00”

floatStr := strconv.FormatFloat(3.1415, ‘f’, -1, 64)
结果:“3.1415”

函数:func strconv.FormatFloat(f float64, fmt byte, prec int, bitSize int) string

解析:
strconv.FormatFloat 函数是 Go 语言标准库中的 strconv 包的一部分,它用于将浮点数转换为字符串。这个函数提供了灵活的格式化选项,使得你可以控制数字的展示方式。下面是对你提供的参数的详细解释:

  1. f float64

    • 这是要格式化的浮点数。float64 表示这是一个 64 位的浮点数,也支持 float32 类型的数值。
  2. fmt byte

    • 这个参数指定了数字的格式化方式。它可以是以下几种字符之一:
      • 'b':二进制指数表示法(例如 -ddddp±ddd)。
      • 'e':科学计数法,小写的指数(例如 -d.dddde±dd)。
      • 'E':科学计数法,大写的指数(例如 -d.ddddE±dd)。
      • 'f':没有指数部分,普通的小数表示(例如 -ddd.dddd)。
      • 'g':根据数值大小选择 'e''f' 格式,用于大指数时采用 'e'
      • 'G':类似于 'g',但是在大指数时使用 'E'
      • 'x':十六进制分数和二进制指数(例如 -0xd.ddddp±ddd)。
      • 'X':类似于 'x',但是以大写形式显示(例如 -0Xd.ddddP±ddd)。
  3. prec int

    • 这个参数控制数字的精度,即小数点后的数字位数。
    • 对于 'e''E''f''x''X' 格式,它指小数点后的位数。
    • 对于 'g''G',它是最大有效数字的位数(尾随零被移除)。
    • 特殊的精度 -1 表示使用尽可能少的数字,但是 ParseFloat 能准确地返回原始数值 f
  4. bitSize int

    • 这个参数表示输入的浮点数的位大小(32 对应 float3264 对应 float64)。这个信息用于正确地进行舍入。

在使用时,你可以根据需要的输出格式和精度来选择合适的 fmtprec 参数。例如,如果你想以科学计数法格式化一个浮点数,并保留两位小数,你可以使用 'e' 作为格式并设置精度为 2

1.3、int -> string

intStr := strconv.FormatInt(-42, 16)
参数:整数, 转换的进制
结果:“-2a”

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风不归Alkaid

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值