php计算绝对值是哪个函数?
在php的日常使用过程中,我们可能需要获取变量的绝对值,这时候我们就可以利用php中的内置函数abs()函数。
$number:要处理的数字值 .
返回值:$number 的绝对值,如果参数 $number是 float,则返回的类型也是 float,否则返回 integer(因为 float 通常比 integer 有更大的取值范围)
如何写代码将一个五位数分解为个,十,百,千,万位?
题主的问题,可以归纳为:“根据十进制整数,获取其位权”。
对于十进制的整数,split,然后逆序,结果就是。
PHP版
// 求整,求绝对值。仅处理正整数
$num = abs(intval(5439));
// 格式化为 05439 格式的字符串
$num = sprintf("%05d",$num);
之后将5位数字逆序,有两种方式:
1 - 是字符串直接逆序,
$num = strrev($num);
$result = str_split($num);
在命令行模拟:
2 - 是split为数组后逆序。
$num= str_split($num); // 结果就是数组 ['0','5','4','3','9']
$result= array_reverse($num); // 个,十,百,千,万的顺序
Python版
如果是Python版,思路一样,利用Python灵活的语法,对数组进行切片。
# 先进行格式化
num = "%05d" % 5439
也是两种方式,下面是先切分为数组,对数组逆序:
num = list(num)
num.reverse()
下面是先逆序,后拆分:
num = num[::-1]
num = list(num)
上面num[::-1]就是Python的语法糖,数组切片的用法。
以上。
public void splitNum(int num) {
//将五位数转换成字符串
String sNum = String.valueOf(num);
for (int sI = 0; sI < sNum.length(); sI++) {
//循环取出各位数
String sSubstring = sNum.substring(sI, sI + 1);
System.out.println("第" + sI + "位数是: " + sSubstring);
}
}
以下为小鹿为你提供的三种方法和思路,并敲出了代码,如有疑问可以私聊我。
语言:Python
方法一:数学运算法
思路:用取整和取余分别取出想要位数。
万位:该五位数对10000取整可得。
千位:该五位数对1000取整再用10取余可得。
百位:该五位数对100取整再用10取余可得。
十位:该五位数对10取整再用10取余可得。
个位:该五位数对10取余可得。
代码和运行结果如下:
方法二:字符串切片法
思路:使用字符串下标切出想要数值(此法如果该数字不是字符串格式需要用str先转换成字符串)。
万位:字符串取第0位。
千位:字符串取第1位。
百位:字符串取第2位。
十位:字符串取第3位。
个位:字符串取第4位。
方法二代码和运行结果如下:
方法三:用列表生成字典方式(或者建好字典,再插入值)
思路:对数位和数值的列表用zip合成相对应的字典。
方法三代码和运行结果如下:
总结:第一种方法是最基础的数学方法,易理解,不易出错;第二、第三种方法就是对Python数据结构的掌握;第三种用字典方式储存,便于后续用到数据时进行获取。
python 的极简主义,用一行代码就可实现。
v=12345
a,b,c,d,e=[int(i) for i in str(v)]
print(a,b,c,d,e)
分解一下说明
- 类型转换 str(v)把整数转换为字符串
- [int(i) for i in str(v)] 按照万,千,百,十,个位来生成一个整数列表。int(i) 是把字符转换成整数。
- 最后把列表里的五项赋值给五个变量
下面是程序的实际执行结果截图

