演算法題:阿拉伯數字轉化為中文讀法
給出一個五位阿拉伯數字,請寫出它的中文讀法,如:
12345 —> 一萬兩千三百四十五
10000 —> 一萬
這個是貓眼面試官去年問我的一道題目,今天終於把坑填上了,開心~
重點在於0的處理,還有繁雜的字元、字串、整數之間的轉化,那些方法要記牢哦~
package algorithm;
import java.util.*;
public class Solution {
static char[] numArr = {'零','一','二','三','四','五','六','七','八','九'};
static String[] unitArr = {"","十","百","千","萬"};
public static String numToChinese(int num) {
char[] newNum = String.valueOf(num).toCharArray();
int len = newNum.length;
StringBuilder res = new StringBuilder();
for(int i=0;i<len;i++) {
int temp = Integer.parseInt(String.valueOf(newNum[i]));
boolean zeroFlag = temp==0 ? true : false;
if(zeroFlag) {
while(i<len-1 && newNum[i+1]=='0')
i++;
if(i!=len-1) {
res.append(numArr[0]);
}
}else {
res.append(numArr[temp]);
res.append(unitArr[len-i-1]);
}
}
return res.toString();
}
public static void main(String[] args) {
System.out.print(numToChinese(12345));
System.out.print("\n");
System.out.print(numToChinese(10000));
System.out.print("\n");
System.out.print(numToChinese(10001));
System.out.print("\n");
System.out.print(numToChinese(10100));
System.out.print("\n");
System.out.print(numToChinese(10101));
System.out.print("\n");
System.out.print(numToChinese(20890));
}
}
相關文章
- 中文數字阿拉伯數字相互轉換
- python將中文數字轉化成阿拉伯數字Python
- PHP 阿拉伯數字和中文數字的相互轉換PHP
- 一種中文數字轉阿拉伯數字的解決方案
- 阿拉伯-漢字-數字轉換
- 中文數字與阿拉伯數字:數字符號的文化交融符號
- 數字轉中文 pythonPython
- 何為酒店數字化轉型?
- 用Python實現阿拉伯數字轉換成中國漢字Python
- 數字化轉型備受關注,為何要數字化轉型呢?
- 跟著華為,學數字化轉型(9):業務如何數字化轉型
- 為什麼提倡數字化轉型
- 羅馬數字轉化為整數的方法
- 融繪數字未來新華三解讀數字化轉型之道
- 【數字化】智慧企業架構框架:為企業數字化轉型“奠基”架構框架
- 【數字化】IDC首席分析師:這才是數字化轉型的本質!| 重磅必讀
- 數字化轉型五步法與成功案例
- Python數字轉換中文大寫Python
- 數字化轉型
- 什麼是數字化轉型,如何理解數字化轉型?
- 【數字化】傳統企業數字創新難題;數字化轉型與平臺戰略
- 數字化轉型做到深處皆為坑
- 數字化能做什麼?如何數字化轉型?
- 為了搞懂數字化轉型,我連問 ChatGPT 42個問題,通透!ChatGPT
- 一文讀懂數字化轉型的前世今生
- 數字化轉型是企業制勝的法寶
- 再見數字化轉型:對數字化轉型的再思考
- 行業數字化轉型攻略:華為雲智慧應用平臺3.0解讀行業
- 以製造業為核心的數字化轉型
- 學習心得之華為數字化轉型框架框架
- jquery金額數字轉為大寫數字jQuery
- 後疫情時代,數字中臺成為數字化轉型必選項
- PHP 將數字轉換為漢字PHP
- 華為數字化轉型,你為什麼就學不會?
- 數字化營銷如何將公域流量轉化為私域?
- 數字金額轉中文繁體大寫
- 運維數字化轉型後為什麼更累了運維
- CATIA是為支援企業實現數字化轉型