149 lines
5.2 KiB
C#
149 lines
5.2 KiB
C#
|
|
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>";
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|