我一直想知道在我的简单代码问题中如何使用 float 和 double 。就金钱而言,用户将能够输入存款金额并打印出当前余额。金额不会太大(我认为 double 值非常适合),但更重要的是我希望它显示为两位小数。 我目前使用的是 float ,但只显示一位小数,而且我也无法添加两位小数的金额。有没有办法限制添加量并限制其只有小数点后两位?也许我可以添加一个简单的条件。
最佳答案
您不应使用float
或double
进行财务计算;舍入误差可能会在意想不到的地方累积。如果您不需要超过 0.01 美元的分辨率,请使用 int
或 long
并以美分为单位进行所有计算。仅在输入和输出时在美分和美元(或您使用的任何货币)之间进行转换。
如果您需要超过 0.01 美元的分辨率(例如,用于中间计算),那么您应该使用 BigDecimal
数字。它专为需要非常高精度的财务计算等应用而设计。
关于java - 处理账户交易和资金时 float 或双倍,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18939906/