[英]Rounding in double java
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);
}
}
ERA的结果是2.0
而不是2.57
...我无法弄清楚为什么
从根本上讲,您是:
所以,你首先需要投 (“转换”)的整数浮点或双精度。
double ERA = ((double)earnedRuns * 9) / inningsPitched;
或更简单:
double ERA = (earnedRuns * 9.0) / inningsPitched;
仅强制转换一个整数就足够了,因为在Java中:integer * double-> double
编辑:
9.0 D或9.0 d只是告诉java 9.0是一个double 。 同样适用于9.0 f或9.0 F。 这意味着9.0是float 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.