源码如下,当输入1234时firstyear得到的数值为1264.85,但是经过
a=(int)(firstyear*100)/100.0;强制转换后得到的值却为1264.84,但是其余的数值却没有问题,谢谢。
import java.util.Scanner;
public class qqqs {
public static void main(String[] agrs){
double firstyear,secondyear,thirdyear,money; //定义变量
Scanner inputmoney=new Scanner(System.in); //构造一个Scanner对象
System.out.println("请输入金额"); //输入初始金额
money=inputmoney.nextDouble(); //将键盘输入的金额传递给变量money
firstyear=money*(1+0.025); //算出第一年的本息总额
secondyear=(1+0.04)*firstyear; //算出第二年的本息总额
thirdyear=(1+0.07)*secondyear; //算出第三年的本息总额
System.out.println("第一年本金加利率="+firstyear);
System.out.println("第二年本金加利率为"+secondyear);
System.out.println("第三年本金加利率为"+thirdyear);
//输出金额
double a,b,c;
//a=Math.round(firstyear);
a=(int)(firstyear*100)/100.0;
b=(int)(secondyear*100)/100.0;
c=(int)(thirdyear*100)/100.0;
System.out.println("第一年保留小数点两位后为"+a);
System.out.println("第二年保留小数点两位后为"+b);
System.out.println("第三年保留小数点两位后为"+c);
inputmoney.close();
}
}