Este artículo presenta el uso de formato de cadena Java-string.format (), como sigue:
Formato de tipos regulares
El método Format () de la clase de cadena se usa para crear cadenas formateadas y concatenar múltiples objetos de cadena. Los estudiantes que están familiarizados con el lenguaje C deben recordar el método Sprintf () del lenguaje C, y hay similitudes entre los dos. El método Format () tiene dos formularios sobrecargados.
formato (formato de cadena, objeto ... args) nueva cadena usa la configuración regional local para crear formatos de cadena y parámetros para generar nuevas cadenas formateadas.
Formato (locale locale, formato de cadena, objeto ... args) Use la configuración regional especificada para crear formatos de cadena y parámetros para generar cadenas formateadas.
Muestre diferentes convertidores para implementar la conversión de diferentes tipos de datos en cadenas, como se muestra en la figura.
Convertidor | ilustrar | Ejemplo |
%s | Tipo de cadena | "Mingrisoft" |
%do | Tipo de personaje | 'metro' |
%b | Tipo booleano | verdadero |
%d | Tipo entero (decimal) | 99 |
%incógnita | Tipo entero (hexadecimal) | FF |
%O | Tipo entero (Octal) | 77 |
%F | Tipo de punto flotante | 99.99 |
%a | Tipo de punto flotante hexadecimal | Ff.35ae |
%mi | Tipo de índice | 9.38e+5 |
%gramo | Tipos de puntos flotantes generales (más cortos de los tipos F y E) | |
%H | Código hash | |
%% | Porcentaje de tipo | De % |
%norte | Línea de ruptura | |
%TX | Tipo de fecha y hora (x representa diferentes caracteres de conversión de fecha y hora |
Casos de prueba
public static void main (string [] args) {string str = null; str = str = StringFormat ("Hi,%s", "Wang Li"); SystemOutPrintln (STR); str = str = stringformat ("Hi,%s:%s%s", "wang nan", "wang li", "wang zhang"); SystemOutPrintln (STR); SystemOutPrintf ("La letra Acase A es: %C %N", 'A'); SystemOutPrintf ("3> 7 El resultado es: %b %n", 3> 7); SystemOutPrintf ("La mitad de" 100 es: %d %n ", 100/2); SystemOutPrintf (" 100 el número hexadecimal de 100 es: %x %n ", 100); SystemOutPrintf (" El número angular de 100 es: %O %n ", 100); SystemOutPrintf (" 50 Yuan Book es 5 descuento: %F %n ", 50*85); SystemOutPrintf (" "" ", el libro de los hexad. the above price is: %a %n", 50*85); Systemoutprintf("The index of the above price represents: %e %n", 50*85); Systemoutprintf("The shorter length of the index of the above price and the floating point number result is: %g %n", 50*85); Systemoutprintf("The discount above is %d%%% %n", 85); Systemoutprintf("The El código hash de la letra A es: %h %n ", 'a');}Resultado de salida
Hola, Wang Li HI, Wang Nan: Wang Li Wang Zhang La carta A está capitalizada: A 3> 7 El resultado es: Falso mitad de 100 es: 50 100 IS: 64 100 IS 80 144 50 Yuan Libro 5 Descuento es: 500000 yuan El número hexadecimal anterior es: 0x54p5 El índice de arriba se expresa: 250000EE+01 La longitud de la longitud de la longitud de la longitud y el índice anterior y el número de arriba: 50000 El descuento anterior es 85% El código hash de letra A es: 41
El logotipo combinado con el símbolo de conversión se muestra en la figura.
| Logo | ilustrar | Ejemplo | resultado |
| + + | Agregar símbolos para números positivos o negativos | ("%+D", 15) | +15 |
| - | Izquierda alineada | ("%-5d", 15) | | 15 | |
| 0 | Agregar 0 antes del número | ("%04d", 99) | 0099 |
| Espacios | Agregue un número específico de espacios antes de un entero | ("% 4d", 99) | | 99 | |
| , | Números de grupo con "," | ("%, F", 9999.99) | 9,999.990000 |
| ( | Use entre paréntesis para incluir números negativos | ("%(F", -99.99) | (99.990000) |
| # | Si es un punto flotante, contiene un punto decimal. Si es hexadecimal o ength, agrega 0x o 0 | ("%#x", 99) | ("%#O", 99) |
| < | Formatear los parámetros descritos por el convertidor anterior | (" %F y %<3.2f", 99.45) | 99.450000 y 99.45 |
| $ | Índice de parámetros formateados | ("%1 $ d,%2 $ s", 99, "ABC") | 99, ABC |
Casos de prueba
public static void main (string [] args) {string str = null; // $ use str = stringFormat ("Use el parámetro de formato $: %1 $ d, %2 $ s", 99, "ABC"); SystemOutPrintln (STR); //+use SystemOutPrintf ("Símbolos que muestran números positivos y negativos: %+d y %d %n", 99, -99); // Complete Ouse SystemOutPrintf ("El número más impresionante es: %03d %n", 7); // use SystemOutPrintf ("El efecto de la tecla TAB es: %8d %n", 7); // use SystemOutPrintf ("El efecto de la agrupación de enteros es: %, d %n", 9989997); // Número de espacio y punto decimal SystememoutPrintf ("El precio de un libro es: % 5f yuan % n", 8); }Resultado de salida
El uso del parámetro de formato $: 99, símbolos ABC que muestran números positivos y negativos: +99 y -99 El número más impresionante es: 007 El efecto de la tecla Tab es: 7 El efecto de la agrupación de enteros es: 9,989,997 El precio de un libro es: 80,000 yuan
Formato de cadena de fecha y evento
La hora y la fecha a menudo son necesarias para mostrar en la interfaz del programa, pero el formato de la pantalla a menudo es insatisfactorio. Se requiere una gran cantidad de código para pasar por varios algoritmos para obtener el formato de fecha y hora ideal. También hay un convertidor %TX en el formato de cadena que no se detalla, se usa especialmente para formatear fechas y tiempos. X en el convertidor %TX representa un convertidor adicional que procesa formatos de fecha y hora, y sus combinaciones pueden formatear la fecha y la hora en múltiples formatos.
Formatos comunes para combinaciones de fecha y hora, como se muestra en la figura.
| Convertidor | ilustrar | Ejemplo |
| do | Incluye toda la información de fecha y hora | Sábado 27 de octubre 14:21:20 CST 2007 |
| F | Formato de "año mes" | 2007-10-27 |
| D | Formato de "mes/día/año" | 27/10/07 |
| riñonal | Formato "HH: MM: SS PM" (sistema de 12 horas) | 02:25:51 PM |
| T | Formato "HH: MM: SS" (sistema de 24 horas) | 14:28:16 |
| Riñonal | Formato "HH: MM" (sistema de 24 horas) | 14:28 |
Casos de prueba
public static void main (string [] args) {date date = new date (); // c utiliza SystemUtPrintf ("Toda la información y tiempo de tiempo: %TC %n", fecha); // F usa SystemUtPrintf ("Formato de día-Month-Day: %TF %N", fecha); // D usa SystemUtPrintf ("Formato de mes/día/año: %TD %N", fecha); // r usa SystemUtPrintf ("HH: MM: Formato SS PM (12 Sistema de tiempo): %TT %N", fecha); // t utiliza SystemUtPrintf ("HH: MM: Formato SS (Sistema de tiempo 24): %TT %N", fecha); // r usa SystemUtPrintf ("HH: Formato MM (Formato de tiempo 24): %TR", fecha); }Resultado de salida
Toda la fecha y hora de la fecha: lunes 10 de septiembre 10:43:36 CST 2012-Month Day Formato: 2012-09-10 Mes/día/año Formato: 09/10/12 HH: MM: Formato SS PM (12 en punto): 10:43:36 Mañana HH: MM: Formato SS (24 O'Clock): 10:43:36 HH: Format (24)
Un convertidor que define el formato de fecha puede causar la fecha para generar una nueva cadena a través del convertidor especificado. Estos convertidores de fecha se muestran en la figura.
public static void main (string [] args) {date date = new date (); // B's Use, Month Abreviation es String Str = StringFormat (Localeus, "Abreviatura del mes de inglés: %TB", fecha); SystemOutPrintln (STR); SystemOutPrintf ("Abreviatura del mes local: %TB %N", fecha); // B's Use, mes Nombre completo Str = StringFormat (Localeus, "Nombre completo del mes en inglés: %TB", fecha); SystemOutPrintln (STR); SystemOutPrintf ("Mes local Nombre completo: %TB %N", fecha); // El uso de A, la semana se abrevia como str = stringformat (localeus, "abreviatura de la semana de inglés: %ta", fecha); SystemOutPrintln (STR); // El uso de un nombre completo de la semana SystemOutPrintf ("Abreviatura de la Semana Local: %TA %N", fecha); // El uso de C, dos dígitos SystemOutPrintf ("Los primeros dos dígitos del año (menos de dos dígitos antes del primero): %TC %n", fecha); // El uso de y, dos dígitos SystemOutPrintf ("Los últimos dos dígitos del año (menos de dos dígitos antes del primero): %Ty %n", fecha); // j, el número de días en un año SystemutPrintf ("días en un año (es decir, el día del año): %tj %n", fecha); // m, el mes SystemutPrintf ("Mes de dos dígitos (menos de dos dígitos antes de 0): %TM %N", fecha); // D, el día (dos dígitos, no lo suficiente como para compensar los ceros) SystemutPrintf ("Día de dos dígitos (menos de dos dígitos antes de 0): %TD %N", fecha); // e, el día (un dígitos antes de 0) SystemutPrintf ("Día de dos dígitos (menos de dos dígitos antes de 0): %TD %N", fecha); // e, el día (un dígitos antes de 0) SystemutPrintf ("Día del mes (no suficiente para compensar los ceros): %TE", fecha); }Resultado de salida
English month abbreviation: Sep Local month abbreviation: September English month full name: September full name: September English week abbreviation: Mon Local week abbreviation: The first two digits of the week (before less than two digits, add 0): 20 The last two digits of the year (before less than two digits, add 0): 12 The number of days in the year (that is, what day of the year): 254 The month of the two digits (before less than two dígitos, agregue 0): 09 El día de los dos dígitos (antes de menos de dos dígitos, agregue 0): día de octubre (antes de menos de dos dígitos, agregue 0): 10
En comparación con los convertidores de formato de fecha, los convertidores de formato de tiempo son cada vez más precisos. Puede formatear el tiempo en unidades como horas, minutos, segundos e incluso milisegundos de las horas. El convertidor para formatear la cadena de tiempo se muestra en la figura.
| Convertidor | ilustrar | Ejemplo |
| H | Número de 2 dígitos 24 horas (por debajo de 2 dígitos, se agrega 0 antes del primero) | 15 |
| I | Número de 2 dígitos 12 horas (menos de 2 dígitos antes de agregar 0) | 03 |
| k | Número de 2 dígitos el tiempo 24 horas (0 no se agrega antes) | 15 |
| l | Número de 2 dígitos 12 horas (0 no se agrega antes) | 3 |
| METRO | Actas de 2 dígitos (menos de 2 dígitos antes de agregar 0) | 03 |
| S | Segundos de 2 dígitos (por debajo de 2 dígitos, agregue 0 al frente) | 09 |
| L | Milisegundos de 3 dígitos (menos de 3 dígitos antes de agregar 0) | 015 |
| norte | El número de milisegundos de 9 dígitos (por debajo de 9 dígitos, agregue 0 antes) | 562000000 |
| pag | Marcas de la mañana o la tarde para cartas minúsculas | Medio: tarde Inglés: PM |
| z | Compensación en relación con la zona horaria de RFC822 de GMT | +0800 |
| Z | Cadena de abreviatura de la zona horaria | CST |
| s | 1970-1-1 00:00:00 El número de segundos pasó ahora | 1193468128 |
| Q | 1970-1-1 00:00:00 El número de milisegundos pasó ahora | 1193468128984 |
Código de prueba
public static void main (string [] args) {date date = new date (); // h utiliza SystemUtPrintf ("Sistema de tiempo de 2 dígitos las 24 horas (antes de 0 si es de menos de 2 dígitos): %th %n", fecha); // utilizo SystemUtPrintf ("Sistema de tiempo de 12 horas de 2 dígitos (antes de 0 si es de menos de 2 dígitos): %ti %n", fecha); // k usa SystemUtPrintf ("Sistema de tiempo de 2 dígitos las 24 horas (antes de 0 si no 0 si no 0 si no 0 si no 0 si no 0 si no l"); // l usa systemUtPrintf ("Sistema de tiempo de 12 horas de 2 dígitos (antes de 0 si no 0 si no 0 si no 0 si no 0 si no 0 si no l); // usa systemutPrintf (" minutos de 2 dígitos (antes de 0 si es 0 si 2 digits: 2 digits: 2 digits: 2 digits: 2 digits: 2 digits: 2 digits: 2 digits: 2 digits: 2 digits: 2 digits: 2 digits: 2 Digits: 2 Digits: 2 Digits: 2 Digits: 2 Digits: 2 Digits: 2 Digits- %tm %n ", fecha); // S usa SystemUtPrintf (" segundos de 2 dígitos (antes de 0 si menos de 2 dígitos): %TS %n ", fecha); // l utiliza SystemUtPrintf (" Acta de 3 dígitos (antes de 0 si menos de 3 dígitos): %Tl %n ", fecha); // usa SystemUtfi %tN%n", date); //P uses String str = Stringformat(LocaleUS, "Morning or afternoon marks of lowercase letters (English): %tp", date); Systemoutprintln(str); Systemoutprintf("Morning or afternoon marks of lowercase letters (medium): %tp%n", date); //z's use Systemoutprintf("Offset relative to GMT's RFC822 time zone: %tz %n ", fecha); // El uso de SystemOutPrintf (" Cadena de abreviatura de la zona horaria: %tz %n ", fecha); // S usa SystemOutPrintf ("1970-1-1 00:00:00 El número de segundos pasó al presente: %ts %n", fecha); // El uso de Q's SystemOutPrintf ("1970-1-1 00:00:00 el número de milisegundos que han pasado hasta ahora: %tq %n", fecha); }Resultado de salida
2 dígitos 24 horas de hora (antes de 0 si es de menos de 2 dígitos): 11 2 dígitos 12 horas de hora (antes de 0 si es de menos de 2 dígitos): 11 2 dígitos de 2 dígitos (antes de 0 si es menos de 2 dígitos): 11 2 dígitos de 12 horas (antes de 0 dígitos menos de 2 dígitos): 11 2 dígitos 12 horas (antes de 0 (menos si es menos de 2 dígitos): 11 dígitos de 2 dígitos (antes de 2 dígitos) Segundos de dígitos de 2 dígitos (antes de 0 si es de menos de 2 dígitos): 52 milisegundos de dígitos de 3 dígitos (antes de 0 si menos de 3 dígitos): 773 milisegundos de dígitos de 9 dígitos (antes de 0 si es menos de 9 dígitos): 7730000000 de la mañana o las marcas de la tarde para las cartas minúsculas (inglés): AM MAÑANA O MARCA DE TARDA PARA LOS MARCAS DE LA MAYORES (MEDIO): MAÑANA DE LA MAÑANA DE LA MAÑANA A LETRA DE LA TARDITA DE LA TARDE RFC8T de la tarde. Zona horaria: +0800 Cadena de abreviatura de la zona horaria: CST 1970-1-1 00:00:00 El número de segundos pasó al presente: 1347246232 1970-1-1 00:00:00 El número de milisegundos pasó al presente: 13472462327333
Lo anterior es todo el contenido de este artículo. Espero que sea útil para el aprendizaje de todos y espero que todos apoyen más a Wulin.com.