Round half even for double

前端 未结 3 1755
耶瑟儿~
耶瑟儿~ 2020-12-18 08:03

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;         


        
3条回答
  •  轻奢々
    轻奢々 (楼主)
    2020-12-18 08:34

    public class DecimalFormat  
    {  
        public static void main(String[] args)  
        {  
            double test = 10.4999;
    
            double round;
            int i = (int) test;
            double fraction = test - i;
            if (fraction < 0.25) {
                round = (double) i;
            } else if (fraction < 0.75) {
                round = (double) (i + 0.5);
            } else {
                round = (double) (i + 1);
            }
            System.out.println("Format: " + round);
        }  
    }  
    

提交回复
热议问题