【问题标题】:how to remove a whole number part in java?如何在java中删除整数部分?
【发布时间】:2021-10-30 00:08:17
【问题描述】:

我有一个双精度值设置为 0.00。我需要打印语句将其显示为“$.00”。所以不显示整数部分

尝试使用 String.format() 方法以及 substring 方法,但它没有给我带来任何帮助...感谢您的帮助,谢谢!

【问题讨论】:

  • 只有0 想要特殊情况吗? $9.00呢?
  • 是的,只有一个值(final double)需要显示。所以我只需要去掉整数部分,只显示“.00”。前面的美元符号不是问题

标签: java format decimal


【解决方案1】:

我只能想到执行两个步骤。首先将值格式化为两位小数。然后从小数位开始使用String.substring。喜欢,

double x = 9.99;
String withZero = String.format("%.2f", x);
System.out.printf("$%s%n", withZero.substring(withZero.indexOf('.')));

输出(按要求)

$.99

【讨论】:

    【解决方案2】:

    试试这个:

    public static void outputFractional(double value) {
        double whole = Math.abs(value);
        double fraction = whole - ((long) whole);
        DecimalFormat format = new DecimalFormat("$.00");
        System.out.println(format.format(fraction));
    }
    

    【讨论】:

    • 怎么样?对我来说很好。
    • 我得到这些结果为 0, >=1,
    • 更新为显示小数
    【解决方案3】:

    最简单的解决方案是使用DecimalFormat并将最大整数位数设置为0。

    DecimalFormat formatter = new DecimalFormat("$.00");
    formatter.setMaximumIntegerDigits(0);
    

    【讨论】:

      【解决方案4】:

      据我了解:

      试试那个

              double amount = 0;
              System.out.println("$" + amount);
      

      【讨论】:

      • 我的意思是我有一个双精度值 0,打印时我需要它显示为“.00”。这意味着需要隐藏整数部分
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-03-14
      • 2012-04-18
      • 2019-09-23
      • 1970-01-01
      • 1970-01-01
      • 2020-01-11
      • 1970-01-01
      相关资源
      最近更新 更多