【问题标题】:Java: displaying ONLY two decimal numbersJava:仅显示两个十进制数字
【发布时间】:2014-09-04 06:28:22
【问题描述】:

当我单击计算以显示计算时,它会显示以下答案:

净工资 31030.38076923077

我怎样才能让它在点后只显示两个十进制数字。示例 $31030.38

【问题讨论】:

  • 显示当前显示的代码。
  • 向我们展示您的代码 - 至少有两种或三种选择,但哪种最容易使用取决于您已有的...
  • 使用DecimalFormat 类,或使用%.2f 转换与printf
  • @DanielPryden:如果需要在这里提出这个问题的人正在处理实际的财务数据,那么是有人做错了else...

标签: java decimal


【解决方案1】:

使用DecimalFormat:

double f = 31030.38076923077;

DecimalFormat df = new DecimalFormat("#.00");
System.out.println(f+"  "+df.format(f));

【讨论】:

    【解决方案2】:

    像这样使用 BigDecimal

    double d = 31030.38474923077;
    BigDecimal dec = new BigDecimal(d).setScale(2, RoundingMode.HALF_UP);
    System.out.println(dec);
    

    【讨论】:

    • 您可能想写几行关于BigDecimal 的优缺点。有个地方需要BigDecimal,但仅仅“安全起见”通常不需要合理...
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-03-11
    • 1970-01-01
    • 1970-01-01
    • 2011-01-01
    • 1970-01-01
    • 2023-04-10
    相关资源
    最近更新 更多