Utilice Delphi para programar números y generar automáticamente números de caracteres chinos
NumArray (0.1.2, 3.4, 5.6, 7.8, 9)
ChsArray ("cero", "uno", "dos", "tres", "cuatro", "Cinco", "Seis", "Siete", "Ocho", "Nueve")
Luego escriba el código para determinar el valor de cada dígito, busque el subíndice en la matriz de enteros correspondiente y comience desde la matriz de caracteres chinos Obtenga el carácter chino correspondiente al subíndice.
Si quieres convertir 345 a 345. Luego te doy una función, puedes llamarla directamente
Función TForm1. FNumToChinese (Const n: Real): String;
Constante
CHS num:WideString ='0123456789-RMB 10 mil millones de yuanes y una moneda de diez centavos';
CHS char: Cadena de matriz [0..1, 0..12] =
(
("cero yuanes", "cero cien", "cero mil millones", "cero mil", "cero millones", "cero mil millones", "cero millones", "cero mil millones", "cero cero", "cero mil millones", "cero mil millones", "cero mil millones"),
("yuan", "cero", "cero", "cero", "diez mil", "cien millones", "cien millones", "cero", "cero", "diez mil", "cien millones" , "yuan" ")
);
Definir variables
I: Entero;
StrNum, StrTemp:WideString; p>
Inicio
Resultado:="";
StrNum:= Format('% 15d', [Round(n * 100)]);
Para i := 0 a 14 haz
Iniciar
StrTemp:= Copiar(StrNum, i+1, 1);
Si StrTemp = R_SPACE luego
p>Continuar
Otros
Resultado:= Resultado+CHS num【StrToInt(StrTemp)+1】+R _ SPACE+CHS num【 I+13】+R _ SPACE;
Fin;
Para i:= 0 a 12
Inicio
Resultado: = string place(Resultado, CHS char[0, I], CHS char[1, I], [rfReplaceAll]);
Si Pos('cero', resultado) = 0, entonces.
Resultado:= StringReplace(resultado,'ángulo cero','cero',[rfReplaceAll])
Otro
Resultado:= lugar de cadena(Resultado, 'Ángulo cero', 'entero', [rfReplaceAll]);
Resultado:= lugar de cadena (Resultado, cero, '', [rfReplaceAll]); p> p>
Fin;