java - 使用 if else 语句导致 0 的货币转换问题

标签 java if-statement casting double

当乘以小于 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/

相关文章:

c++ - C中选择三项(多项选择)

linux - 如果 [ awk 'BEGIN{print 0.4*10}' > 1 -eq 0 ];然后回显是;菲

可以将 double 结构类型转换为 C 中的 double 组吗?

c - printf函数有问题?

java - 暂停其他媒体应用

Java 泛型在编译时没有问题

jquery - leanModal 在没有 .click() 的情况下启动

android - AllShare Cast/Screen Cast 不适用于某些手机

java - 在 hibernate 中设置最大结果不按要求工作

java - java战舰游戏建议