日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

[转]阿拉伯数字转一二三和壹贰叁

發布時間:2025/4/9 编程问答 22 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [转]阿拉伯数字转一二三和壹贰叁 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
/// <summary>/// 本類實現阿拉伯數字到大寫中文的轉換/// 該類沒有對非法數字進行判別,請事先自己判斷數字是否合法/// </summary>public class ChineseNum{/// <summary>/// 小寫轉大寫/// </summary>/// <param name="p_num"></param>/// <returns></returns>public static string GetChineseNum(string p_num){ChineseNum cn = new ChineseNum();return cn.NumToChn(p_num);}/// <summary>/// 小寫金額轉大寫金額/// </summary>/// <param name="p_Money"></param>/// <returns></returns>public static string GetUpperMoney(double p_Money){ChineseNum cn = new ChineseNum();return cn.GetMoneyChinese(p_Money);}/// <summary>/// 轉換數字/// </summary>/// <param name="x"></param>/// <returns></returns>private char CharToNum(char x){string stringChnNames = "零一二三四五六七八九";string stringNumNames = "0123456789";return stringChnNames[stringNumNames.IndexOf(x)];}/// <summary>/// 轉換萬以下整數/// </summary>/// <param name="x"></param>/// <returns></returns>private string WanStrToInt(string x){string[] stringArrayLevelNames = new string[4] { "", "", "", "" };string ret = "";int i;for (i = x.Length - 1; i >= 0; i--)if (x[i] == '0'){ret = CharToNum(x[i]) + ret;}else{ret = CharToNum(x[i]) + stringArrayLevelNames[x.Length - 1 - i] + ret;}while ((i = ret.IndexOf("零零")) != -1){ret = ret.Remove(i, 1);}if (ret[ret.Length - 1] == '' && ret.Length > 1){ret = ret.Remove(ret.Length - 1, 1);}if (ret.Length >= 2 && ret.Substring(0, 2) == "一十"){ret = ret.Remove(0, 1);}return ret;}/// <summary>/// 轉換整數/// </summary>/// <param name="x"></param>/// <returns></returns>private string StrToInt(string x){int len = x.Length;string ret, temp;if (len <= 4){ret = WanStrToInt(x);}else if (len <= 8){ret = WanStrToInt(x.Substring(0, len - 4)) + "";temp = WanStrToInt(x.Substring(len - 4, 4));if (temp.IndexOf("") == -1 && temp != "")ret += "" + temp;elseret += temp;}else{ret = WanStrToInt(x.Substring(0, len - 8)) + "";temp = WanStrToInt(x.Substring(len - 8, 4));if (temp.IndexOf("") == -1 && temp != ""){ret += "" + temp;}else{ret += temp;}ret += "";temp = WanStrToInt(x.Substring(len - 4, 4));if (temp.IndexOf("") == -1 && temp != ""){ret += "" + temp;}else{ret += temp;}}int i;if ((i = ret.IndexOf("零萬")) != -1){ret = ret.Remove(i + 1, 1);}while ((i = ret.IndexOf("零零")) != -1){ret = ret.Remove(i, 1);}if (ret[ret.Length - 1] == '' && ret.Length > 1){ret = ret.Remove(ret.Length - 1, 1);}return ret;}/// <summary>/// 轉換小數/// </summary>/// <param name="x"></param>/// <returns></returns>private string StrToDouble(string x){string ret = "";for (int i = 0; i < x.Length; i++){ret += CharToNum(x[i]);}return ret;}private string NumToChn(string x){if (x.Length == 0){return "";}string ret = "";if (x[0] == '-'){ret = "";x = x.Remove(0, 1);}if (x[0].ToString() == "."){x = "0" + x;}if (x[x.Length - 1].ToString() == "."){x = x.Remove(x.Length - 1, 1);}if (x.IndexOf(".") > -1){ret += StrToInt(x.Substring(0, x.IndexOf("."))) + "" + StrToDouble(x.Substring(x.IndexOf(".") + 1));}else{ret += StrToInt(x);}return ret;}// /// <summary>/// 金額轉換 /// </summary>/// <param name="Money"></param>/// <returns></returns>private string GetMoneyChinese(Double Money){int i;string mstrSource;if (Money == 0){return "";}mstrSource = Money.ToString("#0.00");i = mstrSource.IndexOf(".");if (i > 0) { mstrSource = mstrSource.Replace(".", ""); }if (mstrSource.Substring(0, 1) == "0") { mstrSource = mstrSource.Remove(0, 1); }mstrSource = NumstrToChinese(mstrSource);if (mstrSource.Length == 0) { return ""; }//if (Money < 0){mstrSource = "" + mstrSource;}mstrSource = mstrSource.Replace("0", "");mstrSource = mstrSource.Replace("1", "");mstrSource = mstrSource.Replace("2", "");mstrSource = mstrSource.Replace("3", "");mstrSource = mstrSource.Replace("4", "");mstrSource = mstrSource.Replace("5", "");mstrSource = mstrSource.Replace("6", "");mstrSource = mstrSource.Replace("7", "");mstrSource = mstrSource.Replace("8", "");mstrSource = mstrSource.Replace("9", "");mstrSource = mstrSource.Replace("M", "");mstrSource = mstrSource.Replace("W", "");mstrSource = mstrSource.Replace("S", "");mstrSource = mstrSource.Replace("H", "");mstrSource = mstrSource.Replace("T", "");mstrSource = mstrSource.Replace("Y", "");mstrSource = mstrSource.Replace("J", "");mstrSource = mstrSource.Replace("F", "");if (mstrSource.Substring(mstrSource.Length - 1, 1) != ""){mstrSource = mstrSource + "";}return mstrSource;}// /// <summary>/// 金額轉換/// </summary>/// <param name="numstr"></param>/// <returns></returns>private string NumstrToChinese(string numstr){int i;int j;string mstrChar;string[] mstrFlag = new string[4];string mstrReturn = "";bool mblnAddzero = false;mstrFlag[0] = "";mstrFlag[1] = "T";mstrFlag[2] = "H";mstrFlag[3] = "S";for (i = 1; i <= numstr.Length; i++){j = numstr.Length - i;mstrChar = numstr.Substring(i - 1, 1);if (mstrChar != "0" && j > 1) { mstrReturn = mstrReturn + mstrChar + mstrFlag[(j - 2) % 4]; }if (mstrChar == "0" && mblnAddzero == false){mstrReturn = mstrReturn + "0";mblnAddzero = true;}if (j == 14){if (mstrReturn.Substring(mstrReturn.Length - 1) == "0"){ mstrReturn = mstrReturn.Substring(0, mstrReturn.Length - 1) + "W0"; }else{ mstrReturn = mstrReturn + "W"; }}if (j == 2){if (mstrReturn.Substring(mstrReturn.Length - 1, 1) == "0"){ mstrReturn = mstrReturn.Substring(0, mstrReturn.Length - 1) + "Y0"; }else{ mstrReturn = mstrReturn + "Y"; }// }if (j == 6){if (mstrReturn.Length > 2){if (mstrReturn.Substring(mstrReturn.Length - 2) != "M0"){if (mstrReturn.Substring(mstrReturn.Length - 1) == "0"){ mstrReturn = mstrReturn.Substring(0, mstrReturn.Length - 1) + "W0"; }else{ mstrReturn = mstrReturn + "W"; }}}else{if (mstrReturn.Substring(mstrReturn.Length - 1) == "0"){ mstrReturn = mstrReturn.Substring(0, mstrReturn.Length - 1) + "W0"; }else{ mstrReturn = mstrReturn + "W"; }}}if (j == 10){if (mstrReturn.Substring(mstrReturn.Length - 1) == "0"){ mstrReturn = mstrReturn.Substring(0, mstrReturn.Length - 1) + "M0"; }else{ mstrReturn = mstrReturn + "M"; }}if (j == 0 && mstrChar != "0") { mstrReturn = mstrReturn + mstrChar + "F"; }if (j == 1 && mstrChar != "0") { mstrReturn = mstrReturn + mstrChar + "J"; }if (mstrChar != "0") { mblnAddzero = false; }}if (mstrReturn.Substring(0, 1) == "1" && mstrReturn.Substring(1, 1) == mstrFlag[1]) { mstrReturn = mstrReturn.Substring(1); }if (mstrReturn.Substring(mstrReturn.Length - 1, 1) == "0") { mstrReturn = mstrReturn.Substring(0, mstrReturn.Length - 1); }if (mstrReturn.Substring(0, 1) == "0") { mstrReturn = mstrReturn.Substring(1); }if (mstrReturn.Substring(mstrReturn.Length - 1, 1) == "M" || mstrReturn.Substring(mstrReturn.Length - 1, 1) == "W" || mstrReturn.Substring(mstrReturn.Length - 1, 1) == "S" || mstrReturn.Substring(mstrReturn.Length - 1, 1) == "H" || mstrReturn.Substring(mstrReturn.Length - 1, 1) == "T") { mstrReturn = mstrReturn + "Y"; }return mstrReturn;}}


網絡資料整理備用

轉載于:https://www.cnblogs.com/wfwup/p/3458794.html

總結

以上是生活随笔為你收集整理的[转]阿拉伯数字转一二三和壹贰叁的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。