双java中的舍入

双java中的舍入,java,Java,这个时代以2.0而非2.57的形式出现。。。发射型计算机断层扫描仪 我不明白为什么你会: 将一个整数乘以一个整数->整数(结果:486) 将整数除以整数->整数(结果:2) 将结果分配给一个双变量->双变量(结果:2.0D) 因此,您首先需要将这些整数转换为浮点数或双精度整数 public class project3 { public static void main(String[] args) { int earnedRuns = 52; int

这个时代以
2.0
而非
2.57
的形式出现。。。发射型计算机断层扫描仪 我不明白为什么你会:

  • 将一个整数乘以一个整数->整数(结果:486)
  • 整数除以整数->整数(结果:2)
  • 将结果分配给一个双变量->双变量(结果:2.0D)
  • 因此,您首先需要将这些整数转换为浮点数或双精度整数

    public class project3 {
        public static void main(String[] args) {
    
            int earnedRuns = 52;
            int inningsPitched = 182;
            double ERA = (earnedRuns * 9) / inningsPitched;
            String FirstName = "Anibal";
            String LastName = "Sanchez";
    
            System.out.println("Pitcher's first name: " + FirstName);
            System.out.println("Pitcher's last name: " + LastName);
            System.out.println("Number of earned runs: " + earnedRuns);
            System.out.println("Number of innings pitched: " + inningsPitched);
            System.out.println(FirstName + " " + LastName + " has an ERA of " + ERA);
        }
    }
    
    或更简单:

    double ERA = ((double)earnedRuns * 9) / inningsPitched;
    
    只强制转换一个整数就足够了,因为在java中:integer*double->double

    编辑:

    9.0D或9.0D只是明确地告诉java,9.0应该是一个。 这同样适用于9.0f或9.0f。这意味着9.0是一个浮动

    实际上,您:

  • 将一个整数乘以一个整数->整数(结果:486)
  • 整数除以整数->整数(结果:2)
  • 将结果分配给一个双变量->双变量(结果:2.0D)
  • 因此,您首先需要将这些整数转换为浮点数或双精度整数

    public class project3 {
        public static void main(String[] args) {
    
            int earnedRuns = 52;
            int inningsPitched = 182;
            double ERA = (earnedRuns * 9) / inningsPitched;
            String FirstName = "Anibal";
            String LastName = "Sanchez";
    
            System.out.println("Pitcher's first name: " + FirstName);
            System.out.println("Pitcher's last name: " + LastName);
            System.out.println("Number of earned runs: " + earnedRuns);
            System.out.println("Number of innings pitched: " + inningsPitched);
            System.out.println(FirstName + " " + LastName + " has an ERA of " + ERA);
        }
    }
    
    或更简单:

    double ERA = ((double)earnedRuns * 9) / inningsPitched;
    
    只强制转换一个整数就足够了,因为在java中:integer*double->double

    编辑:

    9.0D或9.0D只是明确地告诉java,9.0应该是一个
    这同样适用于9.0f或9.0f。这意味着9.0是一个浮动

    谢谢。它告诉我把整数也改成双倍,但那不是赋值。不要忘了如果答案有用,请接受它作为答案:谢谢。它告诉我把整数也改成双倍,但那不是赋值。不要忘了答案是否有用,接受它为答案:D