2016-04-06 2 views
1

Мне поручено создать программу, которая округляет число, например, от 2.7 до 3 и от 2.5 до 2. Я уже написал код, который делает это, но мой учитель хочет получить результат в int. (т. е. 2,7 = 3). Вот что у меня есть:Как преобразовать из int в float?

import java.util.*; 
    import java.util.Scanner; 
    public class HandsOn14JamesVincent { 
     public static void main(String[] args){ 
      Scanner input = new Scanner(System.in); 
      System.out.println("Enter a decimal number and I will round it."); 
      float num = input.nextFloat(); 
      float num1 = Math.round(num); 
      float num2 = num1 - num; 
      if (num2 <= .3) 
      System.out.println(Math.ceil(num)); 
      if (num2 > .3) 
      System.out.println(Math.floor(num)); 
     } 
    } 

Он отображает правильный номер, но он отображает их в обращении (2.0). Я не могу понять, как их преобразовать. Я попытался умножить число на (int), но это не сработало. Пожалуйста, помогите !!

+0

Почему это помечено Javascript? – Jerry

+0

Разве вы не сравниваете с 0,5 не до 0,3? И разве вы не можете просто бросить в int? '(int) floatingPointNumber' – pushkin

+0

Мне нужно использовать .3, поэтому число, такое как 1.7 раундов, и число, такое как 1.6 раунда вниз. Вот что задание. –

ответ

1

Джеймс, вы можете бросить поплавок на int, и он отбросит десятичную часть числа.

import java.util.*; 
    import java.util.Scanner; 
    public class HandsOn14JamesVincent { 
     public static void main(String[] args){ 
      Scanner input = new Scanner(System.in); 
      System.out.println("Enter a decimal number and I will round it."); 
      float num = input.nextFloat(); 
      float num1 = Math.round(num); 
      float num2 = num1 - num; 
      if (num2 <= .3) 
      System.out.println((int)Math.ceil(num)); 
      if (num2 > .3) 
      System.out.println((int)Math.floor(num)); 
     } 
    } 

Обратите внимание на (int)

Смежные вопросы