文章目录
Go之如何提取数字的各个位数?
1.直接用数学方法进行计算
2.将数字转换成字符串,再进行截取
总结
Go之如何提取数字的各个位数?
主要有两种方法
- 直接用数学方法进行计算
- 将数字转换成字符串,再进行截取
1. 直接用数学方法进行计算
数学方法:对于任意一个数n,要计算第site位的数,都可以以下式子得到
n/10^(site-1)%10
复制代码
例子:
var data int = 123
fmt.println(data/100%10)
fmt.println(data/10%10)
fmt.println(data/1%10)
复制代码
输出结果: 1 2 3
2. 将数字转换成字符串,再进行截取
例子:
var data int = 123
//Itoa方法可以把整数转换为字符串
data = strconv.Itoa(data)
fmt.println(data[0:1])
fmt.println(data[1:2])
fmt.println(data[2:3])
复制代码
总结
两种方式都能计算出相同的结果。但是第一种方式计算未知位数的数时很麻烦,要首先计算出数的位数,相比较第二种就没那问题,只要定义足够大的数组就不存在这个问题。