Re: [閒聊] 中文數字轉阿拉伯數字已刪文
看板mud (網路地下城/文字遊戲)作者ghostmote (ghostmote)時間3年前 (2021/11/15 16:25)推噓0(0推 0噓 0→)留言0則, 0人參與討論串2/4 (看更多)
如果這個函式不考慮格式檢查或是檢查在其他地方處理的話
這樣寫如何?
語法並不精準,意思到就好
// 單一中文字轉數字
int chinese_number(string one) {
// 這裡可以考慮建個靜態map直接定位
switch (one) {
case '零':
return 0;
case '一':
return 1;
case '二':
case '兩':
return 2;
......
}
}
// 中文數字字串轉數字
int return_number(string str) {
int rVal = 0;
for (int i = 0; i < str.length(); i++) {
if (i % 2 == 1) {
// 萬,千,百,十 等必在偶數位, 也可由此檢查是否符合格式
rVal *= 10;
}
else {
// 處理每一個數字值
rVal += chinese_number(str[i]);
}
}
return rVal;
}
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 118.163.109.121 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/mud/M.1636964748.A.550.html
討論串 (同標題文章)
完整討論串 (本文為第 2 之 4 篇):
2
4
mud 近期熱門文章
11
19
PTT遊戲區 即時熱門文章
-8
17