Java在浮点运算中保持尾随0

时间:2013-03-13 00:32:02

标签: java zero

代码:

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

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

3 个答案:

答案 0 :(得分:5)

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

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

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

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

答案 1 :(得分:4)

这只是一个格式问题:

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

答案 2 :(得分:0)

  1. 浮点变量没有小数位。他们有二进制位置。
  2. 1.8和1.80是相同的数字,它们在floatdouble中的表示方式相同。
  3. 如果您希望呈现具有一定数量的小数位,则必须通过BigDecimalDecimalFormat转换为十进制基数,您可以在其中控制小数位数。
  4. 简而言之,提出这个问题并没有多大意义。