在java中使用printf

在java中使用printf,java,printf,system.out,Java,Printf,System.out,按照以下格式 System.out.printf(“%.2f”,val) 我想知道我怎么能让我的输出是左侧小数点后2位,而不是右侧小数点后2位?我正在计算月利率。我的类方法中的公式是: 年利率设置为4.5,无法更改,因此我在单独的班级中将其设置为:private static 月利息回报率公式(年利息/12)*余额 然后,当我返回main并尝试按如下方式打印时: “\n年利率:\t”+String.format(“%.2f”,a.getAnnualRate()) 结果 ID: 1

按照以下格式

System.out.printf(“%.2f”,val)

我想知道我怎么能让我的输出是左侧小数点后2位,而不是右侧小数点后2位?我正在计算月利率。我的类方法中的公式是:

  • 年利率设置为4.5,无法更改,因此我在单独的班级中将其设置为:private static
  • 月利息
    回报率公式(年利息/12)*余额
然后,当我返回main并尝试按如下方式打印时:
“\n年利率:\t”+String.format(“%.2f”,a.getAnnualRate())

结果

ID:       1122
Created:      03/02/14
Owner:        Tom H
Opening Balance:  $100.0
Annual Rate:      4.50
Monthly Interest: 37.5 <-----Would like this to display the monthly interest properly
ID:1122
创建日期:2014年2月3日
店主:汤姆H
期初余额:100美元
年率:4.50
月利息:37.5使用
System.out.printf()
或使用
System.out.format()

Monthly Interest: 37.5 <-----Would like this to display the monthly interest properly  

月利息:37.5您认为正确的输出应该是多少?.375小数位向左移动2位
printf
不会改变该值。如果要打印不同的值,请计算正确的值。在您的情况下,可能需要将某个值除以100。是否有更简单的格式化方法???@javaaaaaa正如@ajb所说,它不是格式化(至少在Java中不是)。如果要显示37.5,请给出37.5的值。最简单的方法是执行
System.out.printf(“%.2f”,val*100)
@ajb arp。。我的错:D从不在半睡半醒时回答问题。@ajb“将值转换为
int
,如果得到零,则将
double
乘以
100
”??:-我不知道OP到底想要什么。但是,在某些情况下,将该值乘以100的公式几乎肯定是错误的,而在其他情况下则不然,因为这样一来,该值的单位就不一致了。