Forums Register Login

Round double up with 2 digits....

+Pie Number of slices to send: Send
I have a double with the value 4,85999999999 i want to round this value up too the closest value with 2 digits 4,86 i have looked in the math class, but i dont find the answer her.....

Do anyone have a good idea ??


Frank
+Pie Number of slices to send: Send

Keep in mind though that the double will become incorrect again if you do a lot of math with it. For example:

Output:
4.85999999999
486
4.86
4.86000000000001

This is caused because just like humans cannot write 1/3 without rounding at some point, PCs cannot write most decimal numbers (including 1/10) without rounding. That's because PCs use only factors of 2: ..., 32, 16, 8, 4, 2, 1, 1/2, 1/4, 1/8, ...
All numbers are constructed by adding these numbers, but at some point 1/10 will have to be rounded.

If you really want exact calculations with decimal numbers, either upgrade to ints / longs by multiplying with a fixed factor (e.g. with currencies use long cents instead of double dollars), or look at java.math.BigDecimal.
+Pie Number of slices to send: Send
Do you want to round the number, or do you want to display/print the number rounded? If you want the latter, take a look at the DecimalFormat class.
+Pie Number of slices to send: Send
If you use J5.0 or J6 the printf method in System.out is easier than DecimalFormat.
Time is the best teacher, but unfortunately, it kills all of its students - Robin Williams. tiny ad:
a bit of art, as a gift, that will fit in a stocking
https://gardener-gift.com


reply
reply
This thread has been viewed 20417 times.
Similar Threads
BigDecimal round value ?
How to round last 2 digits of a double
how to take either single number or double number in textbox
Rounding up double value
Double Value
More...

All times above are in ranch (not your local) time.
The current ranch time is
Mar 28, 2024 10:27:35.