亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如下例子,請問該如何把字符串中大寫中文數字轉換成阿拉伯數字?

如下例子,請問該如何把字符串中大寫中文數字轉換成阿拉伯數字?

侃侃無極 2022-10-07 15:15:38
我有幾個字符串,如 我有十塊錢,你有二十三塊錢,他有二元錢。我想轉換成 “我有10塊錢,你有23塊錢,他有2元錢。”,請問如何轉換,也就是如何把字符串中大寫中文數字轉換成阿拉伯數字。大寫中文數字可限制在一到九百九十九之間。謝謝!
查看完整描述

3 回答

?
明月笑刀無情

TA貢獻1828條經驗 獲得超4個贊

public static void main(String args[]){
String ss = "二百三十三";
System.out.println(getStringToNumber(ss));
}

/**
* 獲取一個文本的數字表達形式
* @param cNumber
* @return
*/
public static int getStringToNumber(String cNumber){

Map<Character, Character> numMap = new HashMap<Character, Character>(10);
numMap.put('一', '1'); 
        numMap.put('二', '2'); 
        numMap.put('三', '3'); 
        numMap.put('四', '4'); 
        numMap.put('五', '5'); 
        numMap.put('六', '6'); 
        numMap.put('七', '7'); 
        numMap.put('八', '8'); 
        numMap.put('九', '9');
        numMap.put('零', '0');
       
char[]  chars = cNumber.toCharArray();

StringBuilder result = new StringBuilder();
for(int i = 0; i < chars.length; i++){
Character number = numMap.get(chars[i]);
if(number != null){
result.append(number);
}
}

return Integer.parseInt(result.toString());

}

查看完整回答
反對 回復 2022-10-12
?
一只名叫tom的貓

TA貢獻1906條經驗 獲得超3個贊

我覺得可以做判斷替換,先把大寫中文截取出來,判斷第一個字符,如果是五,就替換5,總共有10個判斷,然后判斷第二個字符,如果是百,先不做操作,同樣的如果是十,也不做操作,如果是數字,就拼接在后面,假如是五百二十,拼接后是52 這時判斷如果含有百,也就是3位數,但是你只有兩位數,自動補全一個0,同樣的,如果是五十,得到是5,含有10代表有兩位數,自動補全0,則為50

查看完整回答
反對 回復 2022-10-12
?
蝴蝶不菲

TA貢獻1810條經驗 獲得超4個贊

排列組合一下,就出來了。

查看完整回答
反對 回復 2022-10-12
  • 3 回答
  • 0 關注
  • 162 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號