Red de conocimiento informático - Descarga de software - ¡Date prisa! ! ! ! ! ! ! C# convierte el número de coma flotante en 123,45 RMB, que se convierte en 1223,45 RMB.

¡Date prisa! ! ! ! ! ! ! C# convierte el número de coma flotante en 123,45 RMB, que se convierte en 1223,45 RMB.

A continuación se muestra una clase en un paquete de uso común que empaqueto y el código fuente se le publica.

Usar sistema;

Espacio de nombres público

{

/// lt; Resumengt

/ // Categoría de operación de RMB: convierte el tamaño y la cantidad de RMB.

/// 1. CmycurD (moneda decimal) se convierte en formato de texto del monto en RMB.

/// 2. CmycurD(string strMoney) convierte la cantidad en RMB en forma de texto.

/// lt;/summary gt;

Clase estática pública RmbUtil

{

/// lt;Resumen gt

///Convierta la cantidad a RMB en forma de texto.

///lt;/summary gt;

///lt;param name = "Dinero" gtQuantity

///lt;returns gt Volver forma mayúscula

Cadena estática pública CmycurD (moneda decimal)

{

Cadena constante numericChinese = "cero uno dos tres cuatro cinco seis siete ocho nueve" ; /0-9 caracteres chinos correspondientes a números

String unitChinese = "100 mil millones de RMB, 100 millones de RMB, 10 centavos de RMB" // Caracteres chinos correspondientes a la unidad numérica

Dinero = matemáticas. Circle(Math.Abs(money), 2); //Obtiene el valor absoluto del dinero, redondeado a 2 decimales.

cadena strNumeric =((long)(Dinero * 100)). ToString(); //Forma de cadena del número

string strCmycurD =//Cantidad en letras mayúsculas RMB

int maxUnit = strNumeric. longitud; //Unidad máxima

if(maxUnit gt;15){return "overflow";}

unitChinese = unitChinese. Substring (15-maxUnit); //Obtiene el valor de los dígitos correspondientes de unitChinese. Por ejemplo: 200,55, maxUnit es 5, por lo que unitChinese = 100 yuanes y 10 puntos.

String unitConvert =// Conversión de caracteres chinos de unidades numéricas

int nzero = 0 // ¿Cuántos valores cero consecutivos se utilizan para calcular?

//Bucle para generar el valor a convertir para cada bit.

for(int I = 0; IltmaxUniti)

{

String numericConvert//Conversión de números a caracteres chinos

string strConvertValue = strNumeric. Subcadena (I, 1); //Obtiene el valor del bit a convertir.

int convertValue = Converttoint 32(strConvertValue); //Convertir a número

If (i!=(maxUnit-3)amp; ampi!=(maxUnit-7) amp ; amp me! = (maxUnit-11) amp; amp me! = (maxUnit - 15))

{

// Cuando el número de dígitos no es yuanes, diez mil, o mil millones, billones de horas.

if (strConvertValue == "0 ")

{

numericConvert =

unitConvert =

nzero = nzero 1;

}

Otro

{

if (strConvertValue!= "0" amp NZero.= 0 )

{

conversión numérica = " cero " subcadena china numérica (valor de conversión * 1, 1); Subcadena (I, 1);

nzero = 0

}

Otros

{

numericConvert; = chino numérico. Subcadena(convertValue * 1, 1);

unitConvert = unitChinese. Subcadena (I, 1);

cero = 0

}

}

}

Otros;

{

// Este bit es el bit clave, como billones, miles de millones, millones, yuanes, etc.

if (strConvertValue! = " 0 " amp nzero. = 0)

{

conversión numérica = " cero " subcadena numérica china (convertir valor *. 1, 1);

unitConvert = unidadChinese. Subcadena (I, 1);

nzero = 0

}

Otros

{

si; (strConvertValue! = " 0 " amp ampnzero == 0)

{

numericConvert = numericChinese. Subcadena(convertValue * 1, 1);

unitConvert = unitChinese. Subcadena (I, 1);

nzero = 0

}

Otros

{

si; (strConvertValue == " 0 " amp; ampnzero gt= 3)

{

numericConvert =

unitConvert =

nzero = nzero 1;

}

Otro

{

if(maxUnit gt; = 11)

{

numericConvert =

nzero = nzero 1;

}

Otro

{

numericConvert =

unitConvert = unidadChino.

Subcadena (I, 1);

nzero = nzero 1;

}

}

}

}

}

if(I = =(maxUnit-11)| | I = =(maxUnit-3))

{

// Si este bit es mil millones de bits o un yuan, debe escribirse.

unitConvert = unidadChinese. subcadena (I, 1);

}

strCmycurD = strCmycurD conversión numérica de unidades;

if(I = = maxUnit-1 amp; ampstrConvertValue = = "0 ")

{

//Cuando el último dígito (minuto) sea 0, agregue "todo"

strcmyculd = strcmyculd 'todo';

}

}

if (dinero == 0)

{

StrCmycurD = "dólar cero" ;

}

Devolver strCmycurD

}

/// lt; Resumengt

///Convertir el importe en RMB en forma de texto.

///lt;/summary gt;

/// lt;param name = "strMoney" gtforma numérica de cadena de cantidad

/// lt; devuelve gt lt/returns gt;

Cadena estática pública CmycurD(String strMoney)

{

Probar

{

Moneda decimal = Convertir. ToDecimal(strMoney);

Devolver CmycurD(dinero);

}

Capturar

{

Devolver "¡No en forma numérica!";

}

}

}

}