阿拉伯數字轉換為中文數字

2021-06-17 20:30:44 字數 1021 閱讀 2466

首先,如果在數字中有小數部分,那麼直接從末尾開始將小數部分的每一位轉換為中文,即**20-28行所示,最後需要增加乙個「點」字。然後,從小數點左邊的低位到高位四位四位地進行轉換,如**34-51行所示。flag是0位數的計數,如果當前四位全是0那麼不需要每四位的單位,如」萬」,」億」,」兆」等,見52-53行。如果當前四位右邊緊接著的幾個位是零,那麼視需要新增乙個零,例如10001寫作壹萬零壹,見**37-38行。如果當前四個位中有乙個或連續幾個零,需要新增乙個零,見39-40行,例如1001寫作壹仟零壹。47-48行的**是處理但個「0」的情況。還有一種情況比較特殊,就是有10這種情況,並不是寫作「數+位」的形式,這種情況只考慮這個「拾」在最高位的情況,見**43-45行。最後,每個四位組合在一起,轉換就完成了!

#include #include #include using namespace std;

string convert(string str)

; const char *wan = ;

const char *number = ;

string result = "";

size_t d_pos = str.find('.');

if (string::npos != d_pos)

result = "點" + result;

} else

size_t i = d_pos, len = str.length(), four = 0, flag = 0;

temp = "";

for (int one = 0; i && one < 4; one++, i--)

} else

} if (flag < 4)

temp = temp + wan[four];

} return result;

}int main(int argc, char *argv)

cout << convert(argv[1]) << endl;

return 0;

}

中文數字轉換為阿拉伯數字

需求 1 2 今天寫了三千二百行 今天寫了3200行 兩行意思相同,只是表達方式不太能夠,統一掉。原理 數字的特徵是數字 單位,例如三百,四十二,九千零二 可以從後往前遍歷,遇到的是0到9的數字,就乘以前一位的單位,遇到新的單位 十百千萬 就替換成數字供下乙個數字用。舉例 1 2 3 4 5 6 五...

BAT 中文數字to阿拉伯數字轉換

將下面指令碼儲存到文字文件,另存為字尾.bat,執行即可。功能 將當前目錄下所有檔案檔名中的中文數字改為英文數字。echo off for f delims i in dir b do call replacement i exit replacement set t1 1 set t1 t1 九十...

Python實現中文數字轉換為阿拉伯數字的方法示例

一 需求 今天寫了三千二百行 今天寫了3200行 兩行意思相同,只是表達方式不太能夠,統一掉。二 原理 數字的特徵是 數字 單位,例如三百,四十二,九千零二 可以從後往前遍歷,遇到的是0到9的數字,就乘以前一位的單位,遇到新的單位 十百千萬 就替換成數字供下乙個數字用。三 舉例 五百四十三 1.三 ...