go语言标准库之——strconv包

const

const IntSize = intSize

intSize是int或uint类型的字位数。

func ParseBool

func ParseBool(str string) (value bool, err error)
  1. 传入表示bool的字符串,如:1,0,t
  2. 返回bool类型

func ParseInt

func ParseInt(s string, base int, bitSize int) (i int64, err error)

bin23:=strconv.FormatInt(int64(23),2)
parseInt, err := strconv.ParseInt(bin23, 2, strconv.IntSize)
if err != nil {
	return
}
fmt.Println(parseInt)
// 23
  1. 传入可以转为int的字符串

  2. base指定字符串代表的进制(2到36),如果base为0,则会从字符串前置判断,"0x"是16进制,"0"是8进制,否则是10进制;

  3. bitSize预期数值的bit大小,用于数值上限限制,最终返回的还是int64类型,0、8、16、32、64 分别代表 int、int8、int16、int32、int64;

func ParseUint

func ParseUint(s string, base int, bitSize int) (n uint64, err error)
  1. 传入代表正整数的字符串
  2. 其余与ParseInt相同

func ParseFloat

func ParseFloat(s string, bitSize int) (f float64, err error)

解析一个表示浮点数的字符串并返回其值。

func FormatBool

func FormatBool(b bool) string

bool值转为字符串

func FormatInt

func FormatInt(i int64, base int) string

fmt.Println(strconv.FormatInt(int64(23),2))
// 10111
  1. 传入int64和一个进制
  2. 返回将该数按照该进制转换后的字符串

func FormatUint

func FormatUint(i uint64, base int) string
  1. 正整数
  2. 其余同上

func FormatFloat

func FormatFloat(f float64, fmt byte, prec, bitSize int) string

fmt.Println(strconv.FormatFloat(float64(32),'f',10,64))
//32.0000000000
  1. 函数将浮点数表示为字符串并返回。

  2. fmt设置返回值的格式:‘f’(-ddd.dddd)、‘b’(-ddddp±ddd,指数为二进制)、‘e’(-d.dddde±dd,十进制指数)、‘E’(-d.ddddE±dd,十进制指数)、‘g’(指数很大时用’e’格式,否则’f’格式)、‘G’(指数很大时用’E’格式,否则’f’格式)。

  3. prec控制精度(排除指数部分):对’f’、‘e’、‘E’,它表示小数点后的数字个数;对’g’、‘G’,它控制总的数字个数。如果prec 为-1,则代表使用最少数量的、但又必需的数字来表示f。

  4. bitSize表示f的来源类型(32:float32、64:float64),会据此进行舍入。

func Atoi

func Atoi(s string) (i int, err error)

Atoi是ParseInt(s, 10, 0)的简写。

func Itoa

func Itoa(i int) string

Itoa是FormatInt(i, 10) 的简写。

func AppendBoo

func AppendBool(dst []byte, b bool) []byte

tmp:=make([]byte,1,10)
tmp[0]='1'
fmt.Println(strconv.AppendBool(tmp,true))
fmt.Println(string(strconv.AppendBool(tmp,true)))
//[49 116 114 117 101]
//1true

等价于append(dst, FormatBool(b)...)bool追加到字节切片中

func AppendInt

func AppendInt(dst []byte, i int64, base int) []byte

tmp:=make([]byte,1,10)
tmp[0]='1'
fmt.Println(strconv.AppendInt(tmp,23,2))
fmt.Println(string(strconv.AppendInt(tmp,23,2)))
// [49 49 48 49 49 49]
// 110111

等价于append(dst, FormatInt(I, base)...)

func AppendUint

func AppendUint(dst []byte, i uint64, base int) []byte

等价于append(dst, FormatUint(I, base)...)

func AppendFloat

func AppendFloat(dst []byte, f float64, fmt byte, prec int, bitSize int) []byte

等价于append(dst, FormatFloat(f, fmt, prec, bitSize)...)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

Generalzy

文章对您有帮助,倍感荣幸

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

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

打赏作者

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

抵扣说明:

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

余额充值