2016-04-06 87 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

James你可以將一個float類型轉換爲一個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)