Kopieren Sie den Codecode wie folgt:
/**
* RMB in Großbuchstaben umwandeln
*
* @param-Wert
* @return String
*/
öffentlicher statischer String hangeToBig(doppelter Wert)
{
char[] hunit = { '十', '百', '千' }; // Positionsdarstellung innerhalb des Segments
char[] vunit = { '10.000', '100 Millionen' }; // Darstellung des Segmentnamens
char[] digit = {'null', 'eins', 'zwei', 'drei', 'vier', 'fünf', 'Lu', 'Qi', 'acht', 'Neun' }; äußern
long midVal = (long) (value * 100); // In Ganzzahl konvertieren
String valStr = String.valueOf(midVal); //In String konvertieren
String head = valStr.substring(0, valStr.length() - 2); // Nimm den ganzzahligen Teil
String Rail = valStr.substring(valStr.length() - 2); // Nimm den Dezimalteil
String prefix = ""; // Das Ergebnis der Ganzzahlteilkonvertierung
String suffix = ""; // Das Ergebnis der Dezimalteilkonvertierung
// Verarbeite die Zahlen nach dem Komma
if (rail.equals("00"))
{ // Wenn der Dezimalteil 0 ist
Suffix = „ganz“;
}
anders
{
suffix = digit[rail.charAt(0) - '0'] + "angle" + digit[rail.charAt(1) - '0'] + "minute" // Ansonsten Winkelminuten umwandeln
}
// Verarbeite die Zahl vor dem Dezimalpunkt
char[] chDig = head.toCharArray(); // Konvertieren Sie den ganzzahligen Teil in ein Zeichenarray
char zero = '0'; // Flag '0' zeigt an, dass 0 aufgetreten ist
byte zeroSerNum = 0; // Anzahl aufeinanderfolgender Vorkommen von 0
for (int i = 0; i < chDig.length; i++)
{ // Jede Zahl durchlaufen
int idx = (chDig.length - i - 1) % 4; // Ermittelt die Position innerhalb des Segments
int vidx = (chDig.length - i - 1) / 4; // Segmentposition abrufen
if (chDig[i] == '0')
{ // Wenn das aktuelle Zeichen 0 ist
zeroSerNum++; // 0 Mal hintereinander erhöhen
if (Null == '0')
{ // Flagge
Null = Ziffer[0];
}
sonst wenn (idx == 0 && vidx > 0 && zeroSerNum < 4)
{
Präfix += vunit[vidx - 1];
Null = '0';
}
weitermachen;
}
zeroSerNum = 0; // 0 Mal hintereinander löschen
if (null != '0')
{ // Wenn das Flag nicht 0 ist, fügen Sie beispielsweise Zehntausende, Milliarden usw. hinzu.
Präfix += Null;
Null = '0';
}
prefix += digit[chDig[i] - '0']; // Konvertieren Sie die digitale Darstellung
if (idx > 0)
Präfix += hunit[idx - 1];
if (idx == 0 && vidx > 0)
{
prefix += vunit[vidx - 1]; // Der Segmentname sollte am Ende des Segments hinzugefügt werden, z. B. zehntausend Milliarden
}
}
if (prefix.length() > 0)
prefix += 'circle'; // Wenn der ganzzahlige Teil vorhanden ist, gibt es das Wort Circle
return prefix + suffix; // Die richtige Darstellung zurückgeben
}