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

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程语言 > C# >内容正文

C#

C#中把货币、日期转换成中文大写

發(fā)布時(shí)間:2025/5/22 C# 62 豆豆
生活随笔 收集整理的這篇文章主要介紹了 C#中把货币、日期转换成中文大写 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
日期轉(zhuǎn)換代碼如下:

/**////?<summary>
///?日期轉(zhuǎn)換為中文大寫
///?</summary>

public?class?UpperConvert
{
????
public?UpperConvert()
????
{
????????
//
????????
//?TODO:?在此處添加構(gòu)造函數(shù)邏輯
????????
//
????}

????
//把數(shù)字轉(zhuǎn)換為大寫
????????public?string?numtoUpper(int?num)
????????
{
????????????String?str
=num.ToString();
????????????
string?rstr?=?"";
????????????
int?n;
????????????
for?(int?i?=?0;?i?<?str.Length;?i++)?
????????????
{
????????????????n?
=Convert.ToInt16(str[i].ToString());//char轉(zhuǎn)數(shù)字,轉(zhuǎn)換為字符串,再轉(zhuǎn)數(shù)字
????????????????switch?(n)?
????????????????
{
????????????????????
case?0:rstr=rstr+"";break;
????????????????????
case?1:rstr=rstr+"";break;
????????????????????
case?2:rstr=rstr+"";break;
????????????????????
case?3:rstr=rstr+"";break;
????????????????????
case?4:rstr=rstr+"";break;
????????????????????
case?5:rstr=rstr+"";break;
????????????????????
case?6:rstr=rstr+"";break;
????????????????????
case?7:rstr=rstr+"";break;
????????????????????
case?8:rstr=rstr+"";break;
????????????????????
default:rstr=rstr+"";break;
????????????????????????

????????????????}


????????????}

????????????
return?rstr;
????????}

????????
//月轉(zhuǎn)化為大寫
????????public?string?monthtoUpper(int?month)
????????
{
????????????
if?(month?<?10)
????????????
{
????????????????
return?numtoUpper(month);
????????????}

????????????
else
????????????????
if?(month?==?10)?{?return?"";?}

????????????????
else
????????????????
{
????????????????????
return?""?+?numtoUpper(month?-?10);
????????????????}

????????}

????????
//日轉(zhuǎn)化為大寫
????????public?string?daytoUpper(int?day)
????????
{
????????????
if?(day?<?20)
????????????
{
????????????????
return?monthtoUpper(day);
????????????}

????????????
else
????????????
{
????????????????String?str?
=?day.ToString();
????????????????
if?(str[1]?==?'0')
????????????????
{
????????????????????
return?numtoUpper(Convert.ToInt16(str[0].ToString()))+""?;
?
????????????????}

???????????????

????????????????
else
????????????????
{
????????????????????
return?numtoUpper(Convert.ToInt16(str[0].ToString()))?+?""?
????????????????????????
+?numtoUpper(Convert.ToInt16(str[1].ToString()));?
????????????????}

????????????}

????????}

????????
//日期轉(zhuǎn)換為大寫
????????public?string??dateToUpper(System.DateTime?date)
????????
{
????????????
int?year?=?date.Year;
????????????
int?month?=?date.Month;
????????????
int?day?=?date.Day;
????????????
return?numtoUpper(year)?+?""?+?monthtoUpper(month)?+?""?+?daytoUpper(day)?+?"";

????????}

}

? 貨幣轉(zhuǎn)換代碼:
/**////?<summary>
///?MoneyConvert?的摘要說明
///?</summary>

public?class?MoneyConvert
{
????
public?MoneyConvert()
????
{
????????
//
????????
//?TODO:?在此處添加構(gòu)造函數(shù)邏輯
????????
//
????}

????
public?string?GetUpper(string?numstr)
????
{
????????
try
????????
{
????????????
decimal?num?=?Convert.ToDecimal(numstr);
????????????
return?GetUpper(num);
????????}

????????
catch
????????
{
????????????
return?"非數(shù)字形式!";
????????}

????}

????
public?string?GetUpper(int?numint)
????
{
????????
try
????????
{
????????????
decimal?num?=?Convert.ToDecimal(numint);
????????????
return?GetUpper(num);
????????}

????????
catch
????????
{
????????????
return?"非數(shù)字形式!";
????????}

????}

????
/**//**/
????
/**////?<summary>?
????
///?轉(zhuǎn)換人民幣大小金額?
????
///?</summary>?
????
///?<param?name="num">金額</param>?
????
///?<returns>返回大寫形式</returns>?

????public?string?GetUpper(decimal?num)
????
{
????????
string?strUpperMum?=?"零壹貳叁肆伍陸柒捌玖";????????????//0-9所對(duì)應(yīng)的漢字?
????????string?strNumUnit?=?"萬仟佰拾億仟佰拾萬仟佰拾元角分";?//數(shù)字位所對(duì)應(yīng)的漢字?
????????string?strOfNum?=?"";????//從原num值中取出的值?
????????string?strNum?=?"";????//數(shù)字的字符串形式?
????????string?strReturnUpper?=?"";??//人民幣大寫金額形式?
????????int?i;????//循環(huán)變量?
????????int?sumLength;????//num的值乘以100的字符串長度?
????????string?ch1?=?"";????//數(shù)字的漢語讀法?
????????string?ch2?=?"";????//數(shù)字位的漢字讀法?
????????int?nzero?=?0;??//用來計(jì)算連續(xù)的零值是幾個(gè)?
????????int?temp;????????????//從原num值中取出的值?

????????num?
=?Math.Round(Math.Abs(num),?2);????//將num取絕對(duì)值并四舍五入取2位小數(shù)?
????????strNum?=?((long)(num?*?100)).ToString();????????//將num乘100并轉(zhuǎn)換成字符串形式?
????????sumLength?=?strNum.Length;??????//找出最高位?
????????if?(sumLength?>?15)?{?return?"溢出";?}
????????strNumUnit?
=?strNumUnit.Substring(15?-?sumLength);???//取出對(duì)應(yīng)位數(shù)的strNumUnit的值。如:200.55,sumLength為5所以strNumUnit=佰拾元角分?

????????
//循環(huán)取出每一位需要轉(zhuǎn)換的值?
????????for?(i?=?0;?i?<?sumLength;?i++)
????????
{
????????????strOfNum?
=?strNum.Substring(i,?1);??????????//取出需轉(zhuǎn)換的某一位的值?
????????????temp?=?Convert.ToInt32(strOfNum);??????//轉(zhuǎn)換為數(shù)字?
????????????if?(i?!=?(sumLength?-?3)?&&?i?!=?(sumLength?-?7)?&&?i?!=?(sumLength?-?11)?&&?i?!=?(sumLength?-?15))
????????????
{
????????????????
//當(dāng)所取位數(shù)不為元、萬、億、萬億上的數(shù)字時(shí)?
????????????????if?(strOfNum?==?"0")
????????????????
{
????????????????????ch1?
=?"";
????????????????????ch2?
=?"";
????????????????????nzero?
=?nzero?+?1;
????????????????}

????????????????
else
????????????????
{
????????????????????
if?(strOfNum?!=?"0"?&&?nzero?!=?0)
????????????????????
{
????????????????????????ch1?
=?""?+?strUpperMum.Substring(temp?*?1,?1);
????????????????????????ch2?
=?strNumUnit.Substring(i,?1);
????????????????????????nzero?
=?0;
????????????????????}

????????????????????
else
????????????????????
{
????????????????????????ch1?
=?strUpperMum.Substring(temp?*?1,?1);
????????????????????????ch2?
=?strNumUnit.Substring(i,?1);
????????????????????????nzero?
=?0;
????????????????????}

????????????????}

????????????}

????????????
else
????????????
{
????????????????
//該位是萬億,億,萬,元位等關(guān)鍵位?
????????????????if?(strOfNum?!=?"0"?&&?nzero?!=?0)
????????????????
{
????????????????????ch1?
=?""?+?strUpperMum.Substring(temp?*?1,?1);
????????????????????ch2?
=?strNumUnit.Substring(i,?1);
????????????????????nzero?
=?0;
????????????????}

????????????????
else
????????????????
{
????????????????????
if?(strOfNum?!=?"0"?&&?nzero?==?0)
????????????????????
{
????????????????????????ch1?
=?strUpperMum.Substring(temp?*?1,?1);
????????????????????????ch2?
=?strNumUnit.Substring(i,?1);
????????????????????????nzero?
=?0;
????????????????????}

????????????????????
else
????????????????????
{
????????????????????????
if?(strOfNum?==?"0"?&&?nzero?>=?3)
????????????????????????
{
????????????????????????????ch1?
=?"";
????????????????????????????ch2?
=?"";
????????????????????????????nzero?
=?nzero?+?1;
????????????????????????}

????????????????????????
else
????????????????????????
{
????????????????????????????
if?(sumLength?>=?11)
????????????????????????????
{
????????????????????????????????ch1?
=?"";
????????????????????????????????nzero?
=?nzero?+?1;
????????????????????????????}

????????????????????????????
else
????????????????????????????
{
????????????????????????????????ch1?
=?"";
????????????????????????????????ch2?
=?strNumUnit.Substring(i,?1);
????????????????????????????????nzero?
=?nzero?+?1;
????????????????????????????}

????????????????????????}

????????????????????}

????????????????}

????????????}

????????????
if?(i?==?(sumLength?-?11)?||?i?==?(sumLength?-?3))
????????????
{
????????????????
//如果該位是億位或元位,則必須寫上?
????????????????ch2?=?strNumUnit.Substring(i,?1);
????????????}

????????????strReturnUpper?
=?strReturnUpper?+?ch1?+?ch2;

????????????
if?(i?==?sumLength?-?1?&&?strOfNum?==?"0")
????????????
{
????????????????
//最后一位(分)為0時(shí),加上“整”?
????????????????strReturnUpper?=?strReturnUpper?+?'';
????????????}

????????}

????????
if?(num?==?0)
????????
{
????????????strReturnUpper?
=?"零元整";
????????}

????????
return?strReturnUpper;
????}

}

轉(zhuǎn)載于:https://www.cnblogs.com/MaxWoods/archive/2008/03/12/1101963.html

總結(jié)

以上是生活随笔為你收集整理的C#中把货币、日期转换成中文大写的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。