Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 检查后将浮点转换为整数的方法_Java - Fatal编程技术网

Java 检查后将浮点转换为整数的方法

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

我试图对两个数字(比如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.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我通读了这些问题,以后可能会更改代码。这就是为什么我没有把重点放在运算符/运算部分,只是在这里寻找可能的转换路径。关键是,将浮点值转换为整数以使其看起来漂亮在数学上是不合理的。你不应该这样做。如果“老板”让你这么做,你应该向他(或她)解释数学,让他相信漂亮的答案是错误的答案。这有帮助吗@斯蒂芬斯:那是真的,哈哈。