Todos sabemos que los programas a veces necesitan formatear números, entonces, ¿qué es el formato de números? El llamado formato digital consiste en obtener una cadena según el formato especificado.
Por ejemplo, supongamos que queremos que 3,141592 conserve hasta 2 decimales, entonces la cadena formateada resultante debería ser 3,14; si queremos que el número entero 123456789 se agrupe por "miles", entonces la cadena formateada resultante debería ser 123.456.789; el número 12.3456 para retener 3 decimales, la parte entera debe mostrar al menos 3 dígitos, entonces la cadena formateada obtenida debe ser 012.346.
Antes de JDK 1.5, los programas necesitaban usar clases relacionadas en el paquete java.text, como la clase DecimalFormat , para formatear datos numéricos. La versión JDK 1.5 proporciona una clase Formatter más conveniente. La clase Formatter proporciona un método de formato similar a la función printf del lenguaje C:
formato (modo de formato, lista de valores)
Este método devuelve una representación de cadena de una "lista de valores" según el "modo de formato".
Actualmente, Java ha convertido el método de formato en un método estático de la clase String, por lo que el programa puede usar directamente la clase String para llamar al método de formato para formatear números.
El "modo de formato" en el método de formato es una secuencia de caracteres entre comillas dobles, es decir, una cadena. Los caracteres de esta secuencia de caracteres se componen de caracteres de formato y caracteres ordinarios.
Por ejemplo: %d y %f en los resultados de salida %d, %f, %d son símbolos de formato. Los primeros cuatro caracteres chinos y las dos comas en el medio son caracteres normales. Se considera el símbolo de formato. Es un carácter normal. Los estudiantes pueden consultar la clase java.util.Formatter en la API de Java para obtener más información sobre los caracteres de formato. La cadena devuelta por el método de formato es la cadena después de que los caracteres de formato en el "modo de formato" se reemplazan con los resultados formateados que obtiene, por ejemplo:
Cadenas=String.format(%.2f,3.141592);
Entonces s es 3,14, porque el resultado de %.2f formateando 3.141592 es 3,14.
La "lista de valores" en el método de formato es una lista de variables, constantes o expresiones separadas por comas. Asegúrese de que la cantidad de caracteres de formato en el "modo de formato" del método de formato sea la misma que la cantidad de valores enumerados en la "lista de valores", por ejemplo:
Strings=String.format(%d元%0.3fkg%d台,123,456.777888,999);
Entonces, s es 123 yuanes, 456.778 kilogramos y 999 unidades.
De forma predeterminada, el método de formato utiliza los caracteres de formato en el "modo de formato" en orden de izquierda a derecha para formatear los valores correspondientes en la "lista de valores", mientras que los caracteres ordinarios en el "modo de formato" permanecen sin cambios, por Por ejemplo, asumiendo el tipo int. Los valores de la variable x y la variable doble y son 123 y 3.1415926 respectivamente, entonces para:
Cadenas=String.format(de izquierda a derecha:%d,%.3f,%d,x,y,100);
Entonces, s es de izquierda a derecha: 123,3.142,100.
Si no desea utilizar el orden predeterminado (de izquierda a derecha) para formatear, también puede agregar un símbolo de índice delante del carácter de formato: índice$, por ejemplo, 1$ significa el primero en la "lista de valores". ", 2$ significa "valor" 2 en la lista" para:
Strings=String.format(no de izquierda a derecha:%2$.3f,%3$d,%1$d,x,y,100);
Entonces, s no es de izquierda a derecha: 3.142.100.123.
Nota: Si planea incluir un % normal en el "modo de formato", deberá ingresar dos % consecutivamente al escribir el código, por ejemplo:
Cadenas=String.format(%d%%,89);
Entonces, s es 89%.