Java 在处理账户交易和货币时,浮动或双重

Java 在处理账户交易和货币时,浮动或双重,java,Java,我一直在想,在我的简单代码问题中,如何使用浮点数和双精度数。它将是关于钱的,用户将能够输入存款金额并打印出当前余额。这个数字不会太大,我认为双精度是很好的,但更重要的是,我希望它显示为两位小数。 我目前使用浮动,但只显示一个小数点,我也不能添加两个小数点的金额。是否要限制添加的数量,并将其限制为只有两位小数?也许我可以添加一个简单的条件。您不应该在财务计算中使用float或double;舍入错误可能会在意外的地方累积。如果您不需要超过$0.01的分辨率,请使用int或long并以美分进行所有计算

我一直在想,在我的简单代码问题中,如何使用浮点数和双精度数。它将是关于钱的,用户将能够输入存款金额并打印出当前余额。这个数字不会太大,我认为双精度是很好的,但更重要的是,我希望它显示为两位小数。 我目前使用浮动,但只显示一个小数点,我也不能添加两个小数点的金额。是否要限制添加的数量,并将其限制为只有两位小数?也许我可以添加一个简单的条件。

您不应该在财务计算中使用float或double;舍入错误可能会在意外的地方累积。如果您不需要超过$0.01的分辨率,请使用int或long并以美分进行所有计算。在美分和美元之间转换,或仅在输入和输出时使用的任何货币


如果需要大于$0.01的分辨率,比如说,用于中间计算,那么应该使用数字。它专为金融计算等需要非常高精度的应用而设计。

除了必须使用十进制或大十进制之外:不要将其限制为逗号后的两个数字。尽可能准确地保存您的价值;你说的是演讲,你不必为此放弃准确性。