0
This commit is contained in:
@@ -0,0 +1,71 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
|
||||
namespace Pilot.Report.Exploitation.AccountsReceivable
|
||||
{
|
||||
public class ProgramNumber
|
||||
{
|
||||
public static void Main()
|
||||
{
|
||||
decimal number = 1234567.89m;
|
||||
string chineseNumber = ToChineseNumber(number);
|
||||
Console.WriteLine($"数字 {number} 的中文大写数字是:{chineseNumber}");
|
||||
}
|
||||
|
||||
public static string ToChineseNumber(decimal number)
|
||||
{
|
||||
// 定义数字和单位
|
||||
string[] digits = { "零", "壹", "贰", "叁", "肆", "伍", "陆", "柒", "捌", "玖" };
|
||||
string[] units = { "", "拾", "佰", "仟", "万", "拾", "佰", "仟", "亿" };
|
||||
|
||||
// 将数字转换为整数和小数部分
|
||||
string numberStr = number.ToString("N2").Replace(",", ""); // 去掉千分位分隔符
|
||||
string[] parts = numberStr.Split('.');
|
||||
string integerPart = parts[0];
|
||||
string decimalPart = parts.Length > 1 ? parts[1] : "00";
|
||||
|
||||
// 处理整数部分
|
||||
string result = "";
|
||||
for (int i = 0; i < integerPart.Length; i++)
|
||||
{
|
||||
int digit = int.Parse(integerPart[integerPart.Length - i - 1].ToString());
|
||||
int unitIndex = integerPart.Length - i - 1;
|
||||
|
||||
if (digit != 0)
|
||||
{
|
||||
result = digits[digit] + units[unitIndex] + result;
|
||||
}
|
||||
else
|
||||
{
|
||||
result = "零" + result;
|
||||
}
|
||||
}
|
||||
|
||||
// 处理小数部分
|
||||
if (decimalPart != "00")
|
||||
{
|
||||
result += "点";
|
||||
foreach (char c in decimalPart)
|
||||
{
|
||||
result += digits[int.Parse(c.ToString())];
|
||||
}
|
||||
}
|
||||
|
||||
// 去掉多余的零
|
||||
result = result.Replace("零零", "零").Replace("零万", "万").Replace("零亿", "亿");
|
||||
if (result.StartsWith("零"))
|
||||
{
|
||||
result = result.Substring(1);
|
||||
}
|
||||
if (result.EndsWith("零"))
|
||||
{
|
||||
result = result.Substring(0, result.Length - 1);
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user