在Java中将115打印为1.15

时间:2013-10-17 04:47:50

标签: java

我试图让这个循环看起来好像是预先形成精确的算术,但我不太确定如何打印我的int(例如115)作为“假”双(例如1.15)任何帮助将不胜感激。谢谢!

for(int i = 115; i<350; i+=15)
{
  System.out.print(i);
  //possibly printf? I'm not very familiar with the method
}//for

3 个答案:

答案 0 :(得分:4)

你可以用这种简单的方式做到。

System.out.print(i/100.0); // This will print 1.15, 1.3

但是如果你想在小数点后打印2位数,你需要这样做。

System.out.printf("%.2f",i/100.0);  // This will print 1.15, 1.30

答案 1 :(得分:0)

怎么样:

  for(int i = 115; i<350; i+=15)
  {
      System.out.printf("%d.%02d%n", i / 100, i % 100);
  }

答案 2 :(得分:0)

由于这可能与钱有关,我建议使用BigDecimal。不要对货币值进行浮点运算,因为从长远来看舍入误差是不可避免的,尽管使用printf可能不会出现在这种特殊情况下。您的问题的准确解决方案是:

for (int i = 115; i < 350; i += 15) {
  System.out.println(new BigDecimal(i).movePointLeft(2));
}