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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > C# >内容正文

C#

将人民币的数字表示转化成大写表示(C#版)

發布時間:2023/11/29 C# 103 豆豆
生活随笔 收集整理的這篇文章主要介紹了 将人民币的数字表示转化成大写表示(C#版) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

using System;

namespace Test.Com
{
?/// <summary>
?/// 功能:字符串處理函數集
?/// </summary>
?public class DealString
?{
? #region 私有成員
? /// <summary>
? /// 輸入字符串
? /// </summary>
? private string inputString=null;
? /// <summary>
? /// 輸出字符串
? /// </summary>
? private string outString=null;
? /// <summary>
? /// 提示信息
? /// </summary>
? private string noteMessage=null;
? #endregion

? #region 公共屬性
? /// <summary>
? /// 輸入字符串
? /// </summary>
? public string InputString
? {
?? get{return inputString;}
?? set{inputString=value;}
? }
? /// <summary>
? /// 輸出字符串
? /// </summary>
? public string OutString
? {
?? get{return outString;}
?? set{outString=value;}
? }
? /// <summary>
? /// 提示信息
? /// </summary>
? public string NoteMessage
? {
?? get{return noteMessage;}
?? set{noteMessage=value;}
? }
? #endregion
?
? #region 構造函數
? public DealString()
? {
?? //
?? // TODO: 在此處添加構造函數邏輯
?? //
? }
? #endregion

? #region 公共方法
? public void ConvertToChineseNum()
? {
?? string numList="零壹貳叁肆伍陸柒捌玖";
?? string rmbList = "分角元拾佰仟萬拾佰仟億拾佰仟萬";
?? double number=0;
?? string tempOutString=null;

?? try
?? {
??? number=double.Parse(this.inputString);
?? }
?? catch
?? {
??? this.noteMessage="傳入參數非數字!";
??? return;
?? }
??
?? if(number>9999999999999.99)
??? this.noteMessage="超出范圍的人民幣值";

?? //將小數轉化為整數字符串
?? string tempNumberString=Convert.ToInt64(number*100).ToString();
?? int tempNmberLength=tempNumberString.Length;
?? int i=0;
?? while(i<tempNmberLength)
?? {
??? int oneNumber=Int32.Parse(tempNumberString.Substring(i,1));
??? string oneNumberChar=numList.Substring(oneNumber,1);
??? string oneNumberUnit=rmbList.Substring(tempNmberLength-i-1,1);
??? if(oneNumberChar!="零")
???? tempOutString+=oneNumberChar+oneNumberUnit;
??? else
??? {
???? if(oneNumberUnit=="億"||oneNumberUnit=="萬"||oneNumberUnit=="元"||oneNumberUnit=="零")
???? {
????? while (tempOutString.EndsWith("零"))
????? {
?????? tempOutString=tempOutString.Substring(0,tempOutString.Length-1);
????? }

???? }
???? if(oneNumberUnit=="億"||(oneNumberUnit=="萬"&&!tempOutString.EndsWith("億"))||oneNumberUnit=="元")
???? {
????? tempOutString+=oneNumberUnit;
???? }
???? else
???? {
????? bool tempEnd=tempOutString.EndsWith("億");
????? bool zeroEnd=tempOutString.EndsWith("零");
????? if(tempOutString.Length>1)
????? {
?????? bool zeroStart=tempOutString.Substring(tempOutString.Length-2,2).StartsWith("零");
?????? if(!zeroEnd&&(zeroStart||!tempEnd))
??????? tempOutString+=oneNumberChar;
????? }
????? else
????? {
?????? if(!zeroEnd&&!tempEnd)
??????? tempOutString+=oneNumberChar;
????? }
???? }
??? }
??? i+=1;
?? }

?? while (tempOutString.EndsWith("零"))
?? {
??? tempOutString=tempOutString.Substring(0,tempOutString.Length-1);
?? }

?? while(tempOutString.EndsWith("元"))
?? {
??? tempOutString=tempOutString+"整";
?? }

?? this.outString=tempOutString;

??
? }
? #endregion
?}
}

轉載于:https://www.cnblogs.com/hzuIT/articles/682812.html

總結

以上是生活随笔為你收集整理的将人民币的数字表示转化成大写表示(C#版)的全部內容,希望文章能夠幫你解決所遇到的問題。

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