Convert double to Int, rounded down

前端 未结 5 1517
心在旅途
心在旅途 2020-12-15 02:26

How to convert a double value to int doing the following:

Double If x = 4.97542. Convert to int x = 4.

Double If x = 4.23544. Conv         


        
相关标签:
5条回答
  • 2020-12-15 03:17

    I think I had a better output, especially for a double datatype sorting.

    Though this question has been marked answered, perhaps this will help someone else;

    Arrays.sort(newTag, new Comparator<String[]>() {
             @Override
             public int compare(final String[] entry1, final String[] entry2) {
                  final Integer time1 = (int)Integer.valueOf((int) Double.parseDouble(entry1[2]));
                  final Integer time2 = (int)Integer.valueOf((int) Double.parseDouble(entry2[2]));
                  return time1.compareTo(time2);
             }
        });
    
    0 讨论(0)
  • 2020-12-15 03:20

    Another option either using Double or double is use Double.valueOf(double d).intValue();. Simple and clean

    0 讨论(0)
  • 2020-12-15 03:22

    If the double is a Double with capital D (a boxed primitive value):

    Double d = 4.97542;
    int i = (int) d.doubleValue();
    
    // or directly:
    int i2 = d.intValue();
    

    If the double is already a primitive double, then you simply cast it:

    double d = 4.97542;
    int i = (int) d;
    
    0 讨论(0)
  • 2020-12-15 03:30

    If you explicitly cast double to int, the decimal part will be truncated. For example:

    int x = (int) 4.97542;   //gives 4 only
    int x = (int) 4.23544;   //gives 4 only
    

    Moreover, you may also use Math.floor() method to round values in case you want double value in return.

    0 讨论(0)
  • 2020-12-15 03:31
    double myDouble = 420.5;
    //Type cast double to int
    int i = (int)myDouble;
    System.out.println(i);
    

    The double value is 420.5 and the application prints out the integer value of 420

    0 讨论(0)
提交回复
热议问题