Java 在处理货币转换器时,尝试将数字四舍五入到最接近的小数点

Java 在处理货币转换器时,尝试将数字四舍五入到最接近的小数点,java,currency,valueconverter,Java,Currency,Valueconverter,我是新的编码,我有困难得到一个货币转换器项目实际工作。我正经历着一段极其艰难的时间来让这个项目运作起来。因为我是新手,所以我不知道什么先进的技术。我只允许使用整数和双精度。我的教授说诀窍是 将.005添加到原始编号 将该值乘以100 将结果类型转换为int 将该值除以100.0(这不会导致从double到int的错误有损转换吗?) 最终值将是四舍五入到小数点后2位的原始数字 例如,我让用户输入美元作为整数。 然后我让他们减去2.75转换费(项目的一部分) 然后我们把这个数字乘以.90(目前美元兑

我是新的编码,我有困难得到一个货币转换器项目实际工作。我正经历着一段极其艰难的时间来让这个项目运作起来。因为我是新手,所以我不知道什么先进的技术。我只允许使用整数和双精度。我的教授说诀窍是

  • 将.005添加到原始编号
  • 将该值乘以100
  • 将结果类型转换为int
  • 将该值除以100.0(这不会导致从double到int的错误有损转换吗?)
  • 最终值将是四舍五入到小数点后2位的原始数字
  • 例如,我让用户输入美元作为整数。 然后我让他们减去2.75转换费(项目的一部分) 然后我们把这个数字乘以.90(目前美元兑欧元的ish汇率)。 如果我输入500美元,我将获得447.5250000003欧元。我需要它说447.53。我从来没有使用过这个网站,所以我不知道你们都需要什么,请尽管问。 在此特定情况下,DollarSdouble应为500.0。我已经为用户输入设置了一个扫描仪,所以我需要为任何给定数量的代码工作。转换费为2.75英镑。我已经试了几个小时了,如果你看到明显的错误,我很抱歉

    double remainingCash = dollarsDoubled - conversion fee; 
    remainingCash = remainingCash + .005;
    double caash = remainingCash * 100;
    int cashCash = (int)caash;
    double x = cashCash / 100;
    
    我正在使用BlueJ,所以我相信它是用Java编写的。参见
    DecimalFormat

    的用法我们(通常)不会给人们家庭作业的答案。也许我误解了这个问题,但不管怎样,显示您的代码都会有所帮助。