0

编码:

Float f = Float.parseFloat("1.80");
System.out.println(f);

"1.8"在屏幕上打印。我需要将 0 保留在浮点值 (Float f) 中以进行一些验证。我该怎么做呢?

4

3 回答 3

6

您混淆了数字值及其格式。实际存储为浮点数是不可能1.80的,但是可以将数字显示String为强制两位小数的格式。您的选择是:

  1. 保留用户输入的原始字符串,如果他们给出的小数位数很
    重要

  2. 将数字存储为 a float,但在显示数字时强制它显示为两位小数,如下所示:

    System.out.printf("%.2f\n", f);

于 2013-03-13T00:35:42.787 回答
4

这只是一个格式问题:

System.out.printf("%.2f\n", f);
于 2013-03-13T00:33:06.230 回答
0
  1. 浮点变量没有小数位。他们有二进制的地方。
  2. 1.8 和 1.80 是同一个数字,它们在 afloat或中的表示方式相同double
  3. 如果您希望它们显示一定数量的小数位数,则必须通过BigDecimal或转换为小数基数,DecimalFormat您可以在其中控制小数位数。

简而言之,提出的问题并没有真正的意义。

于 2013-03-13T09:14:37.427 回答