Copie el código de código de la siguiente manera:
/**
* Convertir RMB a letras mayúsculas
*
* valor @param
* @return Cadena
*/
cadena estática pública hangeToBig (valor doble)
{
char[] hunit = { '十', '百', '千' } // Representación de posición dentro del segmento
char[] vunit = { '10,000', '100 millones' } // Representación del nombre del segmento
char[] dígito = {'cero', 'uno', 'dos', 'tres', 'cuatro', 'cinco', 'Lu', 'Qi', 'ocho', 'Nueve' }; expresar
long midVal = (largo) (valor * 100); // Convertir a número entero;
String valStr = String.valueOf(midVal); //Convertir en cadena
String head = valStr.substring(0, valStr.length() - 2 // Toma la parte entera);
String rail = valStr.substring(valStr.length() - 2 // Toma la parte decimal);
Prefijo de cadena = ""; // El resultado de la conversión de la parte entera
String suffix = ""; // El resultado de la conversión de la parte decimal
// Procesa los números después del punto decimal
si (carril.equals("00"))
{ // Si la parte decimal es 0
sufijo = "completo";
}
demás
{
sufijo = dígito[rail.charAt(0) - '0'] + "ángulo" + dígito[rail.charAt(1) - '0'] + "minuto" // De lo contrario, convierte los minutos del ángulo;
}
// Procesa el número antes del punto decimal
char[] chDig = head.toCharArray(); // Convierte la parte entera en una matriz de caracteres
char zero = '0'; // El indicador '0' indica que se ha producido 0
byte zeroSerNum = 0; // Número de apariciones consecutivas de 0
para (int i = 0; i < chDig.length; i++)
{ // Recorrer cada número
int idx = (chDig.length - i - 1) % 4 // Obtener la posición dentro del segmento
int vidx = (chDig.length - i - 1) / 4 // Obtener la posición del segmento
si (chDig[i] == '0')
{ // Si el carácter actual es 0
zeroSerNum++; // Incrementar 0 veces consecutivas
si (cero == '0')
{ // bandera
cero = dígito[0];
}
de lo contrario si (idx == 0 && vidx > 0 && zeroSerNum < 4)
{
prefijo += vunit[vidx - 1];
cero = '0';
}
continuar;
}
zeroSerNum = 0; // Borrar 0 veces consecutivas
si (cero! = '0')
{ // Si la bandera no es 0, agregue, por ejemplo, decenas de miles, miles de millones, etc.
prefijo += cero;
cero = '0';
}
prefijo += dígito[chDig[i] - '0'] // Convertir la representación digital
si (identificador > 0)
prefijo += hunit[idx - 1];
si (idx == 0 && vidx > 0)
{
prefijo += vunit[vidx - 1] // El nombre del segmento debe agregarse al final del segmento, como diez mil mil millones
}
}
si (prefijo.longitud() > 0)
prefix += 'circle'; // Si la parte entera existe, habrá la palabra círculo
return prefijo + sufijo // Devuelve la representación correcta
}