我试图让这个循环看起来好像是预先形成精确的算术,但我不太确定如何打印我的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
答案 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));
}