Copiez le code comme suit :
/**
* Convertir le RMB en lettres majuscules
*
* Valeur @param
* @chaîne de retour
*/
chaîne statique publique hangeToBig (valeur double)
{
char[] hunit = { '十', '百', '千' }; // Représentation de la position dans le segment
char[] vunit = { '10 000', '100 millions' }; // Représentation du nom du segment
char[] digit = {'zéro', 'un', 'deux', 'trois', 'quatre', 'cinq', 'Lu', 'Qi', 'huit', 'Neuf' }; exprimer
long midVal = (long) (valeur * 100); // Convertir en entier
String valStr = String.valueOf(midVal); //Convertir en chaîne
String head = valStr.substring(0, valStr.length() - 2); // Prend la partie entière
String rail = valStr.substring(valStr.length() - 2); // Prend la partie décimale
String prefix = ""; // Le résultat de la conversion de la partie entière
String suffix = "" ; // Le résultat de la conversion de la partie décimale
// Traite les nombres après la virgule
si (rail.equals("00"))
{ // Si la partie décimale est 0
suffixe = « entier » ;
}
autre
{
suffix = digit[rail.charAt(0) - '0'] + "angle" + digit[rail.charAt(1) - '0'] + "minute" // Sinon, convertissez l'angle en minutes ;
}
// Traite le nombre avant le point décimal
char[] chDig = head.toCharArray(); // Convertit la partie entière en tableau de caractères
char zero = '0'; // L'indicateur '0' indique que 0 s'est produit
octet zéroSerNum = 0; // Nombre d'occurrences consécutives de 0
pour (int i = 0; i < chDig.length; i++)
{ // Boucle sur chaque numéro
int idx = (chDig.length - i - 1) % 4; // Récupère la position dans le segment
int vidx = (chDig.length - i - 1) / 4; // Obtenir la position du segment
si (chDig[i] == '0')
{ // Si le caractère actuel est 0
zeroSerNum++; // Incrémente 0 fois consécutives
si (zéro == '0')
{ // drapeau
zéro = chiffre[0] ;
}
sinon si (idx == 0 && vidx > 0 && zeroSerNum < 4)
{
préfixe += vunit[vidx - 1];
zéro = '0';
}
continuer;
}
zeroSerNum = 0; // Effacer 0 fois consécutives
si (zéro != '0')
{ // Si le flag n'est pas 0, ajoutez par exemple des dizaines de milliers, des milliards, etc.
préfixe += zéro ;
zéro = '0';
}
prefix += digit[chDig[i] - '0']; // Convertit la représentation numérique
si (idx > 0)
préfixe += hunit[idx - 1];
si (idx == 0 && vidx > 0)
{
prefix += vunit[vidx - 1]; // Le nom du segment doit être ajouté à la fin du segment, par exemple dix mille milliards
}
}
si (préfixe.length() > 0)
prefix += 'circle'; // Si la partie entière existe, il y aura le mot cercle
return prefix + suffix; // Renvoie la représentation correcte
}