Hi,
I want my output to show to two decimals.If the output is $6.075,instead of bring it to $6.08,i prefer it showed $6.07.How am i able to do this?
I used the below System.Out but kept getting $6.08. System.out.printf("%s%.2f\n","State Withholding(9.0%):$",stateWithholding); Thank You :)

Recommended Answers

All 4 Replies

Do you just want to display the result rounded down to 2 dec places, or do you need to perform the calculation and round down that result to2 dec places before doing anything else (eg storing or printing it)

Do you just want to display the result rounded down to 2 dec places, or do you need to perform the calculation and round down that result to2 dec places before doing anything else (eg storing or printing it)

Prefer the latter.stateWithholding already holds a calculation.

If this is a financial application where fractions of a cent are not allowed, then the simplest and safest approach is to store the amounts in integer cents. With float or double there are always going to be rare cases where rounding gives a slightly wrong result.
If you must use double, and you want to round down to 2 dec places, then mutliply by 100, use Math.floor(...) to round it down, then divide by 100 again.

Member Avatar for hfx642

It's just following the CORRECT rules of rounding.
If your value is 6.0749999, 6.07 would be displayed.
Since your value is 6.075, 6.08 is displayed.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.