当乘以小于 0 的 double (例如日元到美元的转换)时,结果为 0。我尝试使用强制转换运算符并强制转换,但无济于事。我在这里做错了什么?
else if(pick == 3){
if(pick2 == 1){
monz2 = (double)monz * (double)0.00967135;
}
if(pick2 == 2){
monz2 = (double)monz * (double)0.00787155;
}
}
if(pick2 == 4){
monz2 = (double)monz * (double)0.00881142;
}
在选择情况下,1 = 美元,2 = 英镑,3 = 日元,4 = 欧元。 我被告知要使用 if else 语句来创建选项以及格式化解决方案。 Monz 是用户输入的值 monz2是转换后的输出。
在代码的最终版本中,无论有或没有强制转换运算符,所有这些计算结果都为 0。
最佳答案
这可能是您用于 monz2 的数据类型。
试试这个:
int dollar = 10;
double yen = dollar*0.00967135;
System.out.println(yen);
关于java - 使用 if else 语句导致 0 的货币转换问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40143147/