如果数字以十进制本身开头,我想在十进制前添加零。

输入:.2345
输出:0.2345

我正在使用DecimalForamtter。我避免使用字符串追加程序。

请提出建议。

谢谢

最佳答案

应该会给您预期的输出:

@Test
public void testFloatLeadingZero(){
  float value = .1221313F;
  DecimalFormat lFormatter = new DecimalFormat("##0.0000");
  String lOutput = lFormatter.format(value);
  Assert.assertTrue(lOutput.startsWith("0."));
}


或使用String.format

  @Test
  public void testFloatLeadingZero(){
    float value = .1221313F;
    String lOutput = String.format("%.20f", value);
    Assert.assertTrue(lOutput.startsWith("0."));
    double value2 = .1221313d;
    String lOutput2 = String.format("%.20d", value2);
    Assert.assertTrue(lOutput2.startsWith("0."));
  }


我认为您正在使用Float对吗?否则,您必须将f替换为d

10-03 00:57