我的任务是创建一个将 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) 但没有成功。 请帮忙!!
詹姆斯,你可以将浮点数转换为整数,它会删除数字的小数部分。
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)
为了解决这个问题,我创建了一个 float var 调用 numF,所以我将 num 赋予 numF
float numf = num
然后我在 meth 操作中使用具有相同 num 值的 numF