【问题标题】:Format a number stored as a String格式化存储为字符串的数字
【发布时间】:2015-04-22 01:48:39
【问题描述】:

我有一个String,它表示从输入传递的金额,可以选择包含小数点和尾随零。它可能看起来像以下任何一种:

inputA = "123.45"
inputB = "123"
inputC = "123.4"
inputD = ".50"

有没有办法转换这些格式,使它们都具有0.00 格式,小数点左侧至少有一位数字,右侧至少两位,而无需转换为 BigDecimal 等数字对象,然后回来了吗?

【问题讨论】:

  • 很好!分享您的代码并告诉我们您遇到的问题
  • 是的。但是您已经重写了 Java 已经为您提供的逻辑。使用doubleDecimalFormat 有什么问题吗?
  • 不,这不是我的备份计划。但我宁愿不必将String 转换为double,然后再转换回String,如果我能提供帮助的话。

标签: java string number-formatting


【解决方案1】:

可以使用DecimalFormat来实现格式化。

DecimalFormat format = new DecimalFormat("##0.00");
System.out.println(format.format(10));

输出:10.00

【讨论】:

    【解决方案2】:

    技巧:

    String formattedDouble=String.format("%.2f", Double.valueOf(strDouble));
    

    而且,%.2f 会将您的double 格式化为1.000.205.21Double.valueOf(strDouble) 将您的String double 转换为double

    【讨论】:

      猜你喜欢
      • 2010-10-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-07-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多