Este artículo enumera varios métodos:
1. Use java.math.BigDecimal
2. Use java.text.DecimalFormat
3. Use java.text.NumberFormat
4. Use java.util.Formatter
5. Use String.format
Al final del artículo, compartí más conocimiento de expansión contigo. Además, puede implementarlo usted mismo o pedir prestada la biblioteca de clase encapsulada para implementarla. No los enumeraré uno por uno en este artículo. Echemos un vistazo a la introducción detallada a continuación.
1. Use BigDecimal y mantenga los dos decimales
Public static String Format1 (valor doble) {bigDecimal bd = new BigDecimal (valor); bd = bd.setscale (2, roundingmode.half_up); return bd.ToString ();}2. Use decimalformat para retener los dos lugares decimales
Public static String Format2 (valor doble) {decimalFormat df = new DecimalFormat ("0.00"); df.setRoundingMode (redondeoMode.half_up); return df.format (valor);}3. Use NumberFormat para retener los dos decimales
Public static string format3 (valor doble) {numberFormat nf = numberFormat.getNumberInstance (); nf.setMaxImumFractionDigits (2); / * * setMiniMumFractionDigits a 2 * * Si no hace esto, entonces cuando el valor de valor es 100.00, retroceda 100 * * en lugar de 100.00 */ nf.setMinImumFractionDigits (2); nf.setRoundingMode (redondeingMode.half_up); / * * Si el formato que desea emitir está separado por comas, puede configurarlo en true */ nf.setGroupingused (falso); return nf.format (valor);}4. Use java.util.formatter y mantenga los dos lugares decimales
Formato de cadena estática pública4 (valor doble) { / * * % .2f % significa cualquier dígito antes del punto decimal 2. El resultado después de dos formatos decimales es f. El tipo de punto flotante es */ return new Formatter (). Format ("%. 2f", valor) .ToString ();}5. Use String.Format para implementarlo.
Public static string format5 (valor doble) {return string.format ("%. 2f", valor) .ToString ();}Conocimiento extendido
Como herramienta de procesamiento de texto, String.format nos proporciona funciones de formato de cadena potentes y ricas.
Formatear números de puntos flotantes
El formato de marcador de posición es: %[índice $] [identificación]*[ancho mínimo] [. Precisión] convertidor
doble num = 123.4567899; system.out.print (string.format (" %f %n", num)); // 123.456790 System.out.print (String.format (" %a %n", num)); // 0x1.Edd3C0BB46929p6 System.out.print (String.Format (" %G %n", num)); // 123.457IDS disponibles:
-, alineado a la izquierda dentro del ancho mínimo, no se puede usar con la marca 0.
0. Si la longitud del contenido es menor que el ancho mínimo, llénelo con 0 a la izquierda.
#, agregue un 0 antes de Ength y hexadecimal, agregue 0x antes de hexadecimal.
+, el resultado siempre contiene A + o - signo.
Espacio, agregue espacio antes de los números positivos y agregue: firme antes de los números negativos.
,, solo usado con decimal, separado por cada 3 dígitos.
(, Si el resultado es un número negativo, envuélvalo entre paréntesis y no se muestran símbolos.
Convertidores disponibles:
B, tipo booleano, siempre que el parámetro real sea un tipo booleano que no sea falso, está formateado como una cadena verdadera, de lo contrario es una cadena falsa.
N, un carácter nuevo independiente de la plataforma, también se puede obtener a través de System.getProperty ("Line.separator").
F, tipo de punto flotante (decimal). Muestra 9 números significativos y será redondeado. Como 99.99.
A, tipo de número de punto flotante (hexadecimal).
E, tipo exponencial. Como 9.38e+5.
g, tipo de número de punto flotante (más corto que %F, %A, muestra números válidos de 6 dígitos y se redondeará)
Resumir
Lo anterior es todo el contenido de los múltiples métodos de escritura de dos decimales retenidos en Java. Espero que el contenido de este artículo sea de cierta ayuda para el estudio o el trabajo de todos. Si tiene alguna pregunta, puede dejar un mensaje para comunicarse.