問題:編寫控制台程式,使用者輸入阿拉伯數字的金額,系統自動轉換成中文大寫金額的形式輸出。
例如:輸入458796;
轉換為:肆拾伍萬捌仟柒佰玖拾陸。
問題分析:既然是數字大小寫轉換,那麼我們這樣考慮問題:先最高考慮到千萬級別。那麼我們把這個數抽象成由個、十、百、千、萬這麼幾個位組成。其中個、十、百、千都是乙個數一位,而萬就有可能是幾個萬,幾十個萬,幾百幾千個萬。那麼我們不妨把這個數拆成兩部分,一部分是「萬」,一部分是千百十個。那麼對於過萬的數,我們就可以先用處理千以下的方法先處理「萬」的部分,然後再處理千以下的部分。
本實驗**如下:
處理千位數的函式:
void
qianwei_zhuanhuan
(int x)
//千位上有數的轉換
}
處理百位的函式:
void
baiwei_zhuanhuan
(int x)
//百位上有數的轉換
}
處理十位數的函式:
void
shiwei_zhuanhuan
(int x)
//十位上有數的轉換
}
處理個位數的函式:
void
gewei_zhuanhuan
(int x)
//個位數轉換
}
int
main()
}else
if(c >=
1&& c <10)
}}else
//沒超過一千萬的情況
else
}else
if(x1 >=
1&& x1 <10)
gewei_zhuanhuan
(x1);}
} cout <<
"萬";
//「萬」以上處理完畢,輸出「萬」字
x2 = x %
10000
;//接下來處理千百十個位
if(x2 >=
1000)}
else
if(c >=
1&& c <10)
}}else
else
}else
if(x2 >=
1&& x2 <10)
}}}else
//沒過萬的情況
}else
if(c >=
1&& c <10)
}}else
}else
if(x >=
1&& x <10)
}}}}
C 實現的 阿拉伯數字轉換成中文大寫金額
轉換數字金額主函式 包括小數 數字字串 轉換成中文大寫後的字串或者出錯資訊提示字串 public string convertsum string str 判斷是否是正數字字串 判斷字串 如果是數字,返回true,否則返回false public bool ispositvedecimal stri...
阿拉伯數字金額轉換為中文大寫
set ansi nulls on goset quoted identifier on gocreate procedure dbo moneytochinese 阿拉伯數字金額轉換為中文大寫 changemoney money returndaxie varchar 50 output asse...
js將阿拉伯數字轉換成漢字大寫
適用場景 票據,結算憑證等。將任意數字的金額,轉換成漢字大寫的形式。例如 1234.50 壹仟貳佰叄拾肆圓伍角。壹 貳 叄 肆 直接貼 如下 阿拉伯數字轉換成大寫漢字 function numberparsechina money money parsefloat money if money ma...