Java 检查后将浮点转换为整数的方法
我试图对两个数字(比如A和B)执行多个操作。这两个数字是通过单个字符串输入的。因此,我将它们转换为Java 检查后将浮点转换为整数的方法,java,Java,我试图对两个数字(比如A和B)执行多个操作。这两个数字是通过单个字符串输入的。因此,我将它们转换为Double值,并对它们执行操作 问题是输出总是double。如果结果是整数,我希望答案是整数,比如说,2,而不是2.0 案例: A=2和B=2(字符串输入)=>提取到浮点变量=>varA=2.0,varB=2.0当前结果=>4.0(简单*操作)最佳结果=>4 A=2.0和B=2.0(字符串输入)=>提取到浮点变量=>varA=2.0,varB=2.0当前结果=>4.0(简单*操作)最佳结果=>4
Double
值,并对它们执行操作
问题是输出总是double
。如果结果是整数,我希望答案是整数,比如说,2
,而不是2.0
案例:
A=2
和B=2
(字符串输入)=>提取到浮点变量=>varA=2.0,varB=2.0当前结果=>4.0(简单*操作)最佳结果=>4
A=2.0
和B=2.0
(字符串输入)=>提取到浮点变量=>varA=2.0,varB=2.0当前结果=>4.0(简单*操作)最佳结果=>4.0
float
转换为int
,但我正在寻找最佳方法来检查一个数字是否可以用int表示。并得到相应的结果
谢谢您可以尝试使用%运算符来确定两个双精度运算是否产生完美除法,并使用整数转换,如下所示
double num1 = 20.0;
double num2 = 5.0;
if (num1%num2 == 0) {
System.out.println((long) (num1/num2));
} else {
System.out.println(num1/num2);
}
即使数学值是整数,使用浮点数计算的结果也可能不是(由于舍入错误)。@Henry yeah我通读了这些问题,以后可能会更改代码。这就是为什么我没有把重点放在运算符/运算部分,只是在这里寻找可能的转换路径。关键是,将浮点值转换为整数以使其看起来漂亮在数学上是不合理的。你不应该这样做。如果“老板”让你这么做,你应该向他(或她)解释数学,让他相信漂亮的答案是错误的答案。这有帮助吗@斯蒂芬斯:那是真的,哈哈。