Jag försöker avrunda värden som är double variabler.
Värdet i variabeln är från 100.00 till 584999.9648999999, detta värde vill jag avrunda till 2 decimaler.
Innan jag kör variabel kapningen så gör jag följande
//convert double (inc_taxHeader) to string
String sumString = Double.toString(inc_taxHeader);
String priceHeader = sumString;
// atleast 2 decials and maximum four.
java.text.DecimalFormat df = new DecimalFormat("#.00");
double newPriceHeader = Double.parseDouble(priceHeader);
out.println(priceHeader);
//doc.replaceItemValue("priceHeader", df.format(newPriceHeader));
Vad jag hittat på nätet så skall jag först konvertera min variabel till string och sedan använda DecimalFormat för att ange hur många decimaler jag vill ha.
Men hur jag än vrider o vänder på det så vill den inte fixa mina decimaler.
Nä, de som gjorde java är bra mycket smartare än så...
Enligt manualen så tar DecimalFormat.format antingen en double eller en long. Det finns ingen orsak alls att först göra 199.1211 till "199.1211" som du gör när du tilldelar sumString och priceHeader (som är samma instans f.ö) för att sedan konvertera den strängen till en double med värdet 199.1211 som du gör i newPriceHeader eftersom newPriceHeader == inc_taxHeader.
Din kod funkade prima!
Gjorde följande modifiering för att det skulle lira som jag ville ha det!
// visa inga decimaler
DecimalFormat df = new DecimalFormat("#");
//skapa sträng av värde
String tmp_texHeader = df.format(inc_taxHeader);
// lägg till .00 i strängen
tmp_texHeader = tmp_texHeader + ".00";
rollo
258 ms totalt · 4 externa anrop · v20260731065814-full.1dc6f849