tijian_tieying/web/Common/RMB.cs

149 lines
5.2 KiB
C#
Raw Normal View History

2025-02-20 12:14:39 +08:00
using System;
using System.Collections.Generic;
using System.Text;
namespace ZWL.Common
{
/// <summary>
/// ת<><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҵ<EFBFBD>С<EFBFBD><D0A1><EFBFBD>
/// </summary>
public class Rmb
{
/// <summary>
/// ת<><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҵ<EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD>
/// </summary>
/// <param name="num"><3E><><EFBFBD><EFBFBD></param>
/// <returns><3E><><EFBFBD>ش<EFBFBD>д<EFBFBD><D0B4>ʽ</returns>
public static string CmycurD(decimal num)
{
string str1 = "<22><>Ҽ<EFBFBD><D2BC><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>½<EFBFBD><C2BD><EFBFBD>ƾ<EFBFBD>"; //0-9<><39><EFBFBD><EFBFBD>Ӧ<EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD>
string str2 = "<22><>Ǫ<EFBFBD><C7AA>ʰ<EFBFBD><CAB0>Ǫ<EFBFBD><C7AA>ʰ<EFBFBD><CAB0>Ǫ<EFBFBD><C7AA>ʰԪ<CAB0>Ƿ<EFBFBD>"; //<2F><><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>Ӧ<EFBFBD>ĺ<EFBFBD><C4BA><EFBFBD>
string str3 = ""; //<2F><>ԭnumֵ<6D><D6B5>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ֵ
string str4 = ""; //<2F><><EFBFBD>ֵ<EFBFBD><D6B5>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>ʽ
string str5 = ""; //<2F><><EFBFBD><EFBFBD><EFBFBD>Ҵ<EFBFBD>д<EFBFBD><D0B4><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ
int i; //ѭ<><D1AD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
int j; //num<75><6D>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD>100<30><30><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
string ch1 = ""; //<2F><><EFBFBD>ֵĺ<D6B5><C4BA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
string ch2 = ""; //<2F><><EFBFBD><EFBFBD>λ<EFBFBD>ĺ<EFBFBD><C4BA>ֶ<EFBFBD><D6B6><EFBFBD>
int nzero = 0; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ֵ<EFBFBD>Ǽ<EFBFBD><C7BC><EFBFBD>
int temp; //<2F><>ԭnumֵ<6D><D6B5>ȡ<EFBFBD><C8A1><EFBFBD><EFBFBD>ֵ
num = Math.Round(Math.Abs(num), 2); //<2F><>numȡ<6D><C8A1><EFBFBD><EFBFBD>ֵ<EFBFBD><D6B5><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ȡ2λС<CEBB><D0A1>
str4 = ((long)(num * 100)).ToString(); //<2F><>num<75><6D>100<30><30>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>ʽ
j = str4.Length; //<2F>ҳ<EFBFBD><D2B3><EFBFBD><EFBFBD><EFBFBD>λ
if (j > 15) { return "<22><><EFBFBD><EFBFBD>"; }
str2 = str2.Substring(15 - j); //ȡ<><C8A1><EFBFBD><EFBFBD>Ӧλ<D3A6><CEBB><EFBFBD><EFBFBD>str2<72><32>ֵ<EFBFBD><D6B5><EFBFBD>磺200.55,jΪ5<CEAA><35><EFBFBD><EFBFBD>str2=<3D><>ʰԪ<CAB0>Ƿ<EFBFBD>
//ѭ<><D1AD>ȡ<EFBFBD><C8A1>ÿһλ<D2BB><CEBB>Ҫת<D2AA><D7AA><EFBFBD><EFBFBD>ֵ
for (i = 0; i < j; i++)
{
str3 = str4.Substring(i, 1); //ȡ<><C8A1><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD>ijһλ<D2BB><CEBB>ֵ
temp = Convert.ToInt32(str3); //ת<><D7AA>Ϊ<EFBFBD><CEAA><EFBFBD><EFBFBD>
if (i != (j - 3) && i != (j - 7) && i != (j - 11) && i != (j - 15))
{
//<2F><><EFBFBD><EFBFBD>ȡλ<C8A1><CEBB><EFBFBD><EFBFBD>ΪԪ<CEAA><D4AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڡ<EFBFBD><DAA1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϵ<EFBFBD><CFB5><EFBFBD><EFBFBD><EFBFBD>ʱ
if (str3 == "0")
{
ch1 = "";
ch2 = "";
nzero = nzero + 1;
}
else
{
if (str3 != "0" && nzero != 0)
{
ch1 = "<22><>" + str1.Substring(temp * 1, 1);
ch2 = str2.Substring(i, 1);
nzero = 0;
}
else
{
ch1 = str1.Substring(temp * 1, 1);
ch2 = str2.Substring(i, 1);
nzero = 0;
}
}
}
else
{
//<2F><>λ<EFBFBD><CEBB><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD><DAA3>ڣ<EFBFBD><DAA3><EFBFBD><EFBFBD><EFBFBD>Ԫλ<D4AA>ȹؼ<C8B9>λ
if (str3 != "0" && nzero != 0)
{
ch1 = "<22><>" + str1.Substring(temp * 1, 1);
ch2 = str2.Substring(i, 1);
nzero = 0;
}
else
{
if (str3 != "0" && nzero == 0)
{
ch1 = str1.Substring(temp * 1, 1);
ch2 = str2.Substring(i, 1);
nzero = 0;
}
else
{
if (str3 == "0" && nzero >= 3)
{
ch1 = "";
ch2 = "";
nzero = nzero + 1;
}
else
{
if (j >= 11)
{
ch1 = "";
nzero = nzero + 1;
}
else
{
ch1 = "";
ch2 = str2.Substring(i, 1);
nzero = nzero + 1;
}
}
}
}
}
if (i == (j - 11) || i == (j - 3))
{
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>λ<EFBFBD><CEBB>Ԫλ<D4AA><CEBB><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>д<EFBFBD><D0B4>
ch2 = str2.Substring(i, 1);
}
str5 = str5 + ch1 + ch2;
if (i == j - 1 && str3 == "0")
{
//<2F><><EFBFBD><EFBFBD>һλ<D2BB><CEBB><EFBFBD>֣<EFBFBD>Ϊ0ʱ<30><CAB1><EFBFBD><EFBFBD><EFBFBD>ϡ<EFBFBD><CFA1><EFBFBD><EFBFBD><EFBFBD>
str5 = str5 + '<EFBFBD><EFBFBD>';
}
}
if (num == 0)
{
str5 = "<22><>Ԫ<EFBFBD><D4AA>";
}
return str5;
}
/// <summary>
/// ת<><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ҵ<EFBFBD>С<EFBFBD><D0A1><EFBFBD><EFBFBD> (һ<><D2BB><EFBFBD><EFBFBD><EFBFBD>أ<EFBFBD><D8A3><EFBFBD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>ת<EFBFBD><D7AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ڵ<EFBFBD><DAB5><EFBFBD>CmycurD)
/// </summary>
/// <param name="num"><3E>û<EFBFBD><C3BB><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ľ<EFBFBD><C4BD><EFBFBD>ַ<EFBFBD><D6B7><EFBFBD><EFBFBD><EFBFBD>ʽδת<CEB4><D7AA>decimal</param>
/// <returns></returns>
public static string CmycurD(string numstr)
{
try
{
decimal num = Convert.ToDecimal(numstr);
return CmycurD(num);
}
catch
{
return "<22><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʽ<EFBFBD><CABD>";
}
}
}
}