java - number - Formatear el doble en una cadena en iReport
ireport tutorial (4)
Use como a continuación:
new DecimalFormat("0.00").format(doubleField) + "str"
Estoy haciendo un informe, necesito unir 4 variables en una. Si trato las variables por separado, puedo formatearlas sin problemas. Pero cuando los fusiono en una cadena, el valor doble viene como 0.0 en lugar de 0.00
¿Cómo puedo hacer que venga como el original, 0.00? El código ahora se ve así:
$F{someDoubleField} + "a string" + $F{anotherDoubleField} + "another string"
Imprime:
0.0 a string 0.0 another string
en lugar de:
0.00 a string 0.00 another string
Recuerde que iReport usa Java, entonces tal vez, el código de Java me puede ayudar.
use DecimalFormat
aquí está cómo:
double d = 0.00;
NumberFormat nf = new DecimalFormat("0.00");
String format = nf.format(d);
System.out.println(d); //0.00
Quizás algo como:
Nuevo formato DecimalFormat ("0.00"). (nuevo java.math.Double (($ F {amount} == null)? 0: $ F {amount}))
Haz lo siguiente:
- Abra la ventana de Propiedades para su informe (haga clic con el botón derecho del ratón en el nodo superior en la vista de árbol -> Propiedades )
- Establezca la opción de Idioma en Java
Use dicho código en su expresión de campo de texto:
String.format("%.2f",$V{Sum}) + " " + $F{unit}
aquí
2 - número de dígitos después del punto
$ V {Sum} - Variable doble o de Floaf (o campo - $ F {...})