1. 程式人生 > >數字轉換成中文大小寫、金額大小寫

數字轉換成中文大小寫、金額大小寫

ble clas upper subst sum turn remove 大小 spl

將數字轉換成中文大小寫、金額大小寫

        /// <summary>
        /// 將數字轉換成中文大寫
        /// </summary>
        /// <param name="Value">數字</param>
        /// <param name="bToUpper">是否轉換成漢字大寫 true表示大寫 false表示小寫</param>
        /// <param name="bMoney">是否轉換成金額格式 true表示金額格式  false表示普通格式</param>
/// <returns></returns> public static string DataConvert(double Value, bool bToUpper = true, bool bMoney = true) { if (Value == 0 || Value > 999999999999.99) { if (Value == 0 && !bMoney) {
return ""; } else { return ""; } } string str = Value.ToString("F2"); string sLast = "";//小數點後面的數據 string fuhao = "";//負號 string[] Cnum = new string[10
]; string[] Cbit = new string[12]; Cnum[0] = ""; Cnum[1] = (bToUpper ? "" : ""); Cnum[2] = (bToUpper ? "" : ""); Cnum[3] = (bToUpper ? "" : ""); Cnum[4] = (bToUpper ? "" : ""); Cnum[5] = (bToUpper ? "" : ""); Cnum[6] = (bToUpper ? "" : ""); Cnum[7] = (bToUpper ? "" : ""); Cnum[8] = (bToUpper ? "" : ""); Cnum[9] = (bToUpper ? "" : ""); Cbit[0] = ""; Cbit[1] = (bToUpper ? "" : ""); Cbit[2] = (bToUpper ? "" : ""); Cbit[3] = (bToUpper ? "" : ""); Cbit[4] = ""; Cbit[5] = (bToUpper ? "" : ""); Cbit[6] = (bToUpper ? "" : ""); Cbit[7] = (bToUpper ? "" : ""); Cbit[8] = ""; Cbit[9] = (bToUpper ? "" : ""); Cbit[10] = (bToUpper ? "" : ""); Cbit[11] = (bToUpper ? "" : ""); if (!bMoney) { string[] arrayValue = Value.ToString().Split(.); sLast = arrayValue.Length > 1 ? arrayValue[1] : ""; } if (Value < 0) { str = str.ToString().Remove(0, 1);//去掉負號 fuhao = ""; } int MaxLen = str.Length; bool zoo = true; bool Needzoo = false; bool HaveWan = false; bool HaveYi = false; int tmpVal = 0; string[] strBit = new string[MaxLen]; string ConvertMoney = ""; int i = 0; for (i = 0; i < MaxLen; i++) { if (i != 2) { tmpVal = Convert.ToInt32(str.Substring(MaxLen - i - 1, 1)); } switch (i) { case 0: if (bMoney) { if (tmpVal != 0) { strBit[i] = Cnum[tmpVal] + ""; } } break; case 1: if (bMoney) { if (tmpVal != 0) { strBit[i] = Cnum[tmpVal] + ""; } } break; case 2: break; case 3: if (tmpVal != 0) { strBit[i] = Cnum[tmpVal] + (bMoney ? (bToUpper ? "" : "") : ""); zoo = false; } else { Needzoo = true; if (MaxLen > 4) { strBit[3] = (bMoney ? (bToUpper ? "" : "") : ""); } } if (strBit[1] == "" && strBit[0] != "" && strBit[3] != "") { strBit[i] = strBit[i] + ""; } break; case 4: if (tmpVal == 0) { Needzoo = true; } else { strBit[i] = Cnum[tmpVal] + (bToUpper ? "" : ""); if (Needzoo) { if (zoo) { strBit[i] = (strBit[3] == "" ? strBit[i] + (bMoney ? (bToUpper ? "" : "") : "") : strBit[i]); } else { strBit[i] = strBit[i] + ""; } } zoo = false; Needzoo = false; } break; case 5: if (tmpVal == 0) { Needzoo = true; } else { strBit[i] = Cnum[tmpVal] + (bToUpper ? "" : ""); if (Needzoo) { if (zoo) { strBit[i] = (strBit[3] == "" ? strBit[i] + (bMoney ? (bToUpper ? "" : "") : "") : strBit[i]); } else { strBit[i] = strBit[i] + ""; } } zoo = false; Needzoo = false; } break; case 6: if (tmpVal == 0) { Needzoo = true; } else { strBit[i] = Cnum[tmpVal] + (bToUpper ? "" : ""); if (Needzoo) { if (zoo) { strBit[i] = (strBit[3] == "" ? strBit[i] + (bMoney ? (bToUpper ? "" : "") : "") : strBit[i]); } else { strBit[i] = strBit[i] + ""; } } zoo = false; Needzoo = false; } break; case 7: if (tmpVal == 0) { Needzoo = true; } else { strBit[i] = Cnum[tmpVal] + ""; if (Needzoo) { if (zoo) { strBit[i] = (strBit[3] == "" ? strBit[i] + (bMoney ? (bToUpper ? "" : "") : "") : strBit[i]); } else { strBit[i] = strBit[i] + ""; } } zoo = false; Needzoo = false; HaveWan = true; } break; case 8: if (tmpVal == 0) { Needzoo = true; } else { strBit[i] = Cnum[tmpVal] + (bToUpper ? "" : ""); if (!HaveWan) { strBit[i] = strBit[i] + ""; } HaveWan = true; if (Needzoo) { if (zoo) { strBit[i] = (strBit[3] == "" ? strBit[i] + (bMoney ? (bToUpper ? "" : "") : "") : strBit[i]); } else { strBit[i] = strBit[i] + ""; } } zoo = false; Needzoo = false; } break; case 9: if (tmpVal == 0) { Needzoo = true; } else { strBit[i] = Cnum[tmpVal] + (bToUpper ? "" : ""); if (!HaveWan) { strBit[i] = strBit[i] + ""; } HaveWan = true; if (Needzoo) { if (zoo) { strBit[i] = (strBit[3] == "" ? strBit[i] + (bMoney ? (bToUpper ? "" : "") : "") : strBit[i]); } else { strBit[i] = strBit[i] + ""; } } zoo = false; Needzoo = false; } break; case 10: if (tmpVal == 0) { Needzoo = true; } else { strBit[i] = Cnum[tmpVal] + (bToUpper ? "" : ""); if (!HaveWan) { strBit[i] = strBit[i] + ""; } HaveWan = true; if (Needzoo) { if (zoo) { strBit[i] = (strBit[3] == "" ? strBit[i] + (bMoney ? (bToUpper ? "" : "") : "") : strBit[i]); } else { strBit[i] = strBit[i] + ""; } } zoo = false; Needzoo = false; } break; case 11: if (tmpVal == 0) { Needzoo = true; } else { strBit[i] = Cnum[tmpVal] + ""; if (Needzoo) { if (zoo) { strBit[i] = (strBit[3] == "" ? strBit[i] + (bMoney ? (bToUpper ? "" : "") : "") : strBit[i]); } else { strBit[i] = strBit[i] + ""; } } zoo = false; Needzoo = false; HaveYi = true; } break; case 12: if (tmpVal == 0) { Needzoo = true; } else { strBit[i] = Cnum[tmpVal] + (bToUpper ? "" : ""); if (!HaveYi) { strBit[i] = strBit[i] + ""; } HaveYi = true; if (Needzoo) { if (zoo) { strBit[i] = (strBit[3] == "" ? strBit[i] + (bMoney ? (bToUpper ? "" : "") : "") : strBit[i]); } else { strBit[i] = strBit[i] + ""; } } zoo = false; Needzoo = false; } break; case 13: if (tmpVal == 0) { Needzoo = true; } else { strBit[i] = Cnum[tmpVal] + (bToUpper ? "" : ""); if (!HaveYi) { strBit[i] = strBit[i] + ""; } HaveYi = true; if (Needzoo) { if (zoo) { strBit[i] = (strBit[3] == "" ? strBit[i] + (bMoney ? (bToUpper ? "" : "") : "") : strBit[i]); } else { strBit[i] = strBit[i] + ""; } } zoo = false; Needzoo = false; } break; case 14: if (tmpVal == 0) { Needzoo = true; } else { strBit[i] = Cnum[tmpVal] + (bToUpper ? "" : ""); if (!HaveYi) { strBit[i] = strBit[i] + ""; } HaveYi = true; if (Needzoo) { if (zoo) { strBit[i] = (strBit[3] == "" ? strBit[i] + (bMoney ? (bToUpper ? "" : "") : "") : strBit[i]); } else { strBit[i] = strBit[i] + ""; } } zoo = false; Needzoo = false; } break; } } str = ""; for (i = MaxLen - 1; i >= 0; i--) { str = str + strBit[i]; } if (bMoney) { ConvertMoney = (str.Contains("") ? fuhao + str : fuhao + str + ""); } else { if ((int)Value == 0) { str = ""; } if (sLast.Length > 0) { if (Convert.ToInt32(sLast) > 0) { str = str + ""; for (i = 0; i < sLast.Length; i++) { str = str + Cnum[Convert.ToInt32(sLast.Substring(i, 1))]; } } } ConvertMoney = fuhao + str; } return ConvertMoney; }

數字轉換成中文大小寫、金額大小寫