阿拉伯數字轉換成金額大寫金額(包括小數)
/// <summary>
/// 轉換人民幣大小金額
/// </summary>
/// <param name="num">金額</param>
/// <returns>返回大寫形式</returns>
public static string CmycurD(decimal num)
{
string str1 = "零壹貳叄肆伍陸柒捌玖"; //0-9所對應的漢字
string str2 = "萬仟佰拾億仟佰拾萬仟佰拾元角分"; //數字位所對應的漢字
string str3 = ""; //從原num值中取出的值
string str4 = ""; //數字的字串形式
string str5 = ""; //人民幣大寫金額形式
int j; //num的值乘以100的字串長度
string ch1 = ""; //數字的漢語讀法
string ch2 = ""; //數字位的漢字讀法
int nzero = 0; //用來計算連續的零值是幾個
int temp; //從原num值中取出的值
num = Math.Round(Math.Abs(num), 2); //將num取絕對值並四捨五入取2位小數
str4 = ((long)(num * 100)).ToString(); //將num乘100並轉換成字串形式
j = str4.Length; //找出最高位
if (j > 15)
{
return "溢位";
}
str2 = str2.Substring(15 - j); //取出對應位數的str2的值。如:200.55,j為5所以str2=佰拾元角分
//迴圈取出每一位需要轉換的值
for (int i = 0; i < j; i++)
{
str3 = str4.Substring(i, 1); //取出需轉換的某一位的值
temp = Convert.ToInt32(str3); //轉換為數字
if (i != (j - 3) && i != (j - 7) && i != (j - 11) && i != (j - 15))
{
//當所取位數不為元、萬、億、萬億上的數字時
if (str3 == "0")
{
ch1 = "";
ch2 = "";
nzero = nzero + 1;
}
else
{
if (str3 != "0" && nzero != 0)
{
ch1 = "零" + str1.Substring(temp * 1, 1);
ch2 = str2.Substring(i, 1);
nzero = 0;
}
else
{
ch1 = str1.Substring(temp * 1, 1);
ch2 = str2.Substring(i, 1);
nzero = 0;
}
}
}
else
{
//該位是萬億,億,萬,元位等關鍵位
if (str3 != "0" && nzero != 0)
{
ch1 = "零" + str1.Substring(temp * 1, 1);
ch2 = str2.Substring(i, 1);
nzero = 0;
}
else
{
if (str3 != "0" && nzero == 0)
{
ch1 = str1.Substring(temp * 1, 1);
ch2 = str2.Substring(i, 1);
nzero = 0;
}
else
{
if (str3 == "0" && nzero >= 3)
{
ch1 = "";
ch2 = "";
nzero = nzero + 1;
}
else
{
if (j >= 11)
{
ch1 = "";
nzero = nzero + 1;
}
else
{
ch1 = "";
ch2 = str2.Substring(i, 1);
nzero = nzero + 1;
}
}
}
}
}
if (i == (j - 11) || i == (j - 3))
{
//如果該位是億位或元位,則必須寫上
ch2 = str2.Substring(i, 1);
}
str5 = str5 + ch1 + ch2;
if (i == j - 1 && str3 == "0")
{
//最後一位(分)為0時,加上“整”
str5 = str5 + '整';
}
}
if (num == 0)
{
str5 = "零元整";
}
return str5;
}
相關文章
- Python 轉換金額數字大寫為數字小寫Python
- 小寫數字金額轉大寫
- jquery金額數字轉為大寫數字jQuery
- 小寫金額轉換為大寫
- 將金錢數額轉換為大寫
- 數字金額轉中文繁體大寫
- 1.金額數字轉字元型別字元型別
- 用js實現小寫金額轉大寫的方法JS
- 【踩坑系列】使用long型別處理金額,科學計數法導致金額轉大寫異常型別
- .NET神器:輕鬆實現數字轉大寫金額的秘籍與示例程式碼
- 中文數字阿拉伯數字相互轉換
- JavaScript 人民幣金額格式轉換JavaScript
- 阿拉伯-漢字-數字轉換
- 驗證數字金額的正規表示式
- 匹配大寫金額正規表示式
- 用Python實現阿拉伯數字轉換成中國漢字Python
- PHP 阿拉伯數字和中文數字的相互轉換PHP
- Python數字轉換中文大寫Python
- 專案中常用的數字金額正規表示式
- 金額正規表示式(相容負號、逗號、小數)
- 金額輸入校驗,限制小數點後兩位
- 恆大涉案金額達到此次金螳螂披露的合計涉案金額的95.57%
- python將中文數字轉化成阿拉伯數字Python
- 黑客太猖獗!去年數字貨幣失竊金額達17億美元黑客
- 寫一個格式化金額的方法
- 一種中文數字轉阿拉伯數字的解決方案
- iOS金額輸入限制iOS
- 歐盟委員會剛剛批准了總額約20億歐元的綠色和數字轉型資金
- 實時計算-多級訂單金額,及下級人數
- 【正規表示式】常用的正規表示式(數字,漢字,字串,金額等的正規表示式)字串
- 金額的正規表示式
- JS金額正規表示式JS
- 羅馬數字轉換成十進位制
- 雲天勵飛完成B輪融資,融資金額數億元
- 金仙花數
- 轉換成浮點數
- 轉換成為整數
- CoinSchedule:2019年1-4月阿聯酋數字貨幣銷售金額達2.1億美元
- 中文數字與阿拉伯數字:數字符號的文化交融符號