goLang百分数转整数的方法

goLang百分数转整数的方法人的成长过程充满了曲折坎坷 在成长的道路上我们需要根据不同的场景不断地变换自己的角色 前些天遇到一个需求 从一串字符中将 n 提取出来 再将 n 转换为 n 即将字符串类型的 n 转换为 int 类型的 n 过程如下 后语

欢迎大家来到IT世界,在知识的湖畔探索吧!

笔者独白

人的成长过程充满了曲折坎坷,在成长的道路上我们需要根据不同的场景不断地变换自己的角色。在家里我们是儿女;在学校我们是学生或教师;结婚了我们是丈夫或妻子;生子了我们是父母……

就像是我们在程序开发编写代码的时候,需要将数据根据需要转换成不同的类型。

正文

前些天遇到一个需求,从一串字符中将 n% 提取出来,再将 n% 转换为 n ,即将字符串类型(string)的 n% 转换为int类型的 n ,过程如下:

// 导入需要使用到的包 import ( // 包 "fmt"主要包含了格式化I/O函数,类似于C语言的printf和scanf。格式字符串的规则来源于C语言,但更简单一些。 "fmt" // 包 “strconv” 主要包含了对字符串和基本数据类型之间的转换函数。 // 基本数据类型包括:布尔、整型(包括有/无符号、二进制、八进制、十进制和十六进制)和浮点型等。 "strconv" ) func main(){ // 要转换的目标对象 v1 := "37%" /* 1、先转换成切换,然后再转换成string类型,当然也可以这样写:v2 := v[:len(v)-1](为什么要这样转,和字符编码有关,这里还涉及到GO语言的性能问题,还是新手先会用就行,以后进阶研究一下) 2、len() 是获取字符串的长度的函数 3、[:len(v)-1] 指定切片的长度,具体理解就是截取 “37%” 除 “%” 以外的其他内容,因为 “%” 前面的数字长度可能是不固定的甚至可能出现小数的情况,所以在处理的时候不能事先指定长度,只能通过动态计算出字符长度 */ v2 := string([]byte(v)[:len(v)-1]) // 最后通过 "strconv"包的Atoi函数将string转换为int // Atoi函数有两个返回值,result和error,如果不需要抛出异常可以把error赋值变量写为“_”,如“v3,_ := usageNum, _ := strconv.Atoi(v2)” v3,err := usageNum, _ := strconv.Atoi(v2) if (err!=nil) { fmt.Println(err.Error()) } fmt.Printf("v3: %v, type: %T\n", v3, v3) // v3: 37, type: int }

欢迎大家来到IT世界,在知识的湖畔探索吧!

后语

肯定有人会问为什么不直接把数字提取出来而是要这么麻烦进行转换呢?只是场景需要而已。还想说的是这个只是我已经学会的方法欢迎各位大佬留言提供其他方法供本萌新学习。

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://itzsg.com/92977.html

(0)
上一篇 7小时前
下一篇 7小时前

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们YX

mu99908888

在线咨询: 微信交谈

邮件:itzsgw@126.com

工作时间:时刻准备着!

关注微信