如何将 int 转换为 float?

问题描述 投票:0回答:2

我的任务是创建一个将 2.7 舍入到 3 和 2.5 到 2 等数字的程序。我已经编写了一个代码来执行此操作,但我的老师想要 int 形式的输出。 (即 2.7 = 3)。 这是我所拥有的:

   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)显示它们。我似乎不知道如何转换它们。 我尝试将 num 乘以 (int) 但没有成功。 请帮忙!!

java floating-point int type-conversion rounding
2个回答
1
投票

詹姆斯,你可以将浮点数转换为整数,它会删除数字的小数部分。

   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)


0
投票

为了解决这个问题,我创建了一个 float var 调用 numF,所以我将 num 赋予 numF

float numf = num
然后我在 meth 操作中使用具有相同 num 值的 numF

© www.soinside.com 2019 - 2024. All rights reserved.