-
1 # 雪人兒
-
2 # 非著名攻城獅
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);
}
}
-
3 # 捷思奇
方法一:將五個數字轉成字串的方式存在陣列中。
方法二:萬位數除一萬取整數,千位除一千,百位除一百,十位除十,取得五個數。
-
4 # 程式碼小鹿
以下為小鹿為你提供的三種方法和思路,並敲出了程式碼,如有疑問可以私聊我。
語言:Python
方法一:數學運演算法思路:用取整和取餘分別取出想要位數。
萬位:該五位數對10000取整可得。
千位:該五位數對1000取整再用10取餘可得。
百位:該五位數對100取整再用10取餘可得。
十位:該五位數對10取整再用10取餘可得。
個位:該五位數對10取餘可得。
程式碼和執行結果如下:
方法二:字串切片法思路:使用字串下標切出想要數值(此法如果該數字不是字串格式需要用str先轉換成字串)。
萬位:字串取第0位。
千位:字串取第1位。
百位:字串取第2位。
十位:字串取第3位。
個位:字串取第4位。
方法二程式碼和執行結果如下:
方法三:用列表生成字典方式(或者建好字典,再插入值)思路:對數位和數值的列表用zip合成相對應的字典。
方法三程式碼和執行結果如下:
總結:第一種方法是最基礎的數學方法,易理解,不易出錯;第二、第三種方法就是對Python資料結構的掌握;第三種用字典方式儲存,便於後續用到資料時進行獲取。
-
5 # 程式設計師小助手
題主的問題,可以歸納為:“根據十進位制整數,獲取其位權”。
對於十進位制的整數,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的語法糖,陣列切片的用法。
以上。
-
6 # 明日流水
把五位數轉為字串,然後遍厲字串,或者擷取字串,或者字串再轉為陣列透過陣列下標,都可以獲得個十百千萬位,絕大多數程式語言都支援的
-
7 # DanceWithPython
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) 是把字元轉換成整數。最後把列表裡的五項賦值給五個變數下面是程式的實際執行結果截圖
回覆列表
給你來個精簡的,大概意思如下。
n,i;//n為自然數,i 為 位數
while (i>1)
{
Print( n/10^i);//取整即可,具體忘了。就是這麼個意思
i=i- -;
}