I need to round to nearest 0.5 if possible.
10.4999 = 10.5
Here is quick code:
import java.text.DecimalFormat; import java.math.RoundingMode; public class DecimalFormat { public static void main(String[] args) { DecimalFormat dFormat = new DecimalFormat("#.0"); dFormat.setRoundingMode(RoundingMode.HALF_EVEN); final double test = 10.4999; System.out.println("Format: " + dFormat.format(test)); } }
This doesn't work because 6.10000... rounds to 6.1 etc...need it to round to 6.0
Thanks for any feedback.
Rather than try rounding to the nearest 0.5, double it, round to the nearest int, then divide by two.
This way, 2.49 becomes 4.98, rounds to 5, becomes 2.5. 2.24 becomes 4.48, rounds to 4, becomes 2.
2.1m questions
2.1m answers
60 comments
57.0k users