Prefacio
Comenzando en Java 5.0, la clase de cadena ha agregado un potente método de formato de cadena (). Este método no se usa hasta ahora, y es realmente un desperdicio. Este artículo lo llevará a través de las funciones de este método rápidamente. Cuando desee usar texto formateado en el futuro, es posible que ya no necesite tomar prestada la biblioteca de terceros o implementarlo usted mismo.
Primero veamos un ejemplo simple:
Cadena formatted = string.format (" %s %d este año", "Xiao Li", 30); // "Xiao Li tiene 30 años este año".Sin mi explicación, también puedes ver:
1. Tipo de marcador de posición
Las letras que siguen al marcador de posición "%" determinan el tipo de parámetros reales que acepta. Hay varios tipos de marcadores de posición:
| carta | Tipos de parámetros aplicables | ilustrar |
|---|---|---|
| %a | Número de punto flotante | Números de punto flotante de salida en hexadecimal |
| %b / %b | Cualquier valor | Si el parámetro es nulo, salga falso, de lo contrario salida verdadera |
| %C / %C | Carácter o entero | Emitir los caracteres unicode correspondientes |
| %d | Entero | Formatear la salida de enteros |
| %E / %E | Número de punto flotante | Números de puntos flotantes de salida utilizando notación científica |
| %F | Número de punto flotante | Formatear la salida de los números de puntos flotantes |
| %G / %G | Número de punto flotante | Decidir si emitir números de puntos flotantes en el método de notación científica |
| %S.S | Cualquier valor | Devuelve el valor hashcode () en el parámetro de salida hexadecimal |
| %O | Entero | Integers de salida en Octal |
| %s / %s | Cadena | Formatear la salida de la cadena |
| %T | Fecha y hora | Formatear la salida de fecha y hora |
| %x / %x | Entero | Integers de salida en hexadecimal |
| %norte | ninguno | Línea de ruptura |
| %% | ninguno | El porcentaje de firmar en sí mismo |
Las letras mayúsculas indican que la producción de letras está capitalizada.
Los más comunes que utilizamos son %S, %D y %F, y ocasionalmente %T. Este artículo es limitado en el espacio, por lo que solo se introducen estos cuatro tipos. Lea la documentación de la API para el resto usted mismo.
2. Formato de cadena e entero
Aquí hay un ejemplo para ilustrar:
// complete los espacios y alinee a la derecha: string.format ("%10s, mundo", "hola"); // salida "hola, mundo" string.format ("%8d", 123); // Salida "123" // Complete los espacios y alinee a la izquierda: String.Format ("%-10s, mundo", "Hola"); // salida "hola, mundo" string.format ("%-8d", 123); // Salida "123" // Complementar 0 y alinear (válido solo para números) String.Format ("%08d", 123); // salida "123" string.format ("%-08d", 123); // ¡Error! 0 no se permite que se llene en el lado derecho // Salida hasta n caracteres String.Format ("%. 5s", "Hola, mundo"); // emitir "hola" string.format ("%. 5s ...", "Hola, mundo"); // Salida "Hola ..." String.Format ("%10.5s ...", "Hola, mundo"); // Salida "Hola ..." // Salida Números separados de comas String.Format ("%, D", 1234567); // Salida "1,234,567" 3. Formateo de la fecha
Esto es un poco más complicado, pero si desea mezclar números de texto y fechas en una cadena, debería ser más conveniente usar solo un método que combinar DateFormat y NumberFormat juntos.
Primero, agregemos un conocimiento más, es decir, los marcadores de posición pueden especificar parámetros en una determinada posición, en el formato de %n $. Por ejemplo, %2 $ D representa el segundo parámetro de conformación de plástico. Tenga en cuenta que N aquí comienza con 1 en lugar de 0.
Al formatear una fecha, se requiere que múltiples marcadores de posición apunten al mismo parámetro (para evitar repetir el mismo parámetro varias veces). Al mismo tiempo, debido a que "t" representa la fecha y la hora, el formato completo es %n $ tx, donde x representa qué parte del tiempo se toma. Los valores opcionales para X son, por ejemplo,:
Y = año; m = mes; d = día; H = hora; M = minuto; S = segundo; L = ms; A = día de la semana (nombre); B = nombre de mes;
Hay otras cartas, consulte la documentación de la API para obtener más detalles. Aquí hay un ejemplo:
// El formato de salida es "ahora es 15:04:52, domingo" // Tenga en cuenta que 10 en "%1 $ 10th" también significa que el espacio está lleno de 10 bits y string alineado a la derecha.
Resumir
Lo anterior es todo el contenido de este artículo. Espero que el contenido de este artículo tenga cierto valor de referencia para el estudio o el trabajo de todos. Si tiene alguna pregunta, puede dejar un mensaje para comunicarse. Gracias por su apoyo a Wulin.com.