public class StringFormatDemo { public static void main(String[] args) { //String.format 实现了四舍五入 System.out.println(String.format("%.2f",8.1256));//8.13 System.out.println(String.format("%.2f",8.1216));//8.12 System.out.println(String.format("%.2f",1.0));//1.00 //System.out.println(String.format("%.2f",1)); /*上面注释掉的一行就报错,因为参数里有小数点 "." , * 说明后面的数据应该是浮点型的数据,那么整数就会报错. * 这个地方应该就是你出错的原因*/ int a = 2; //如果非要把整型当成数据.应把a转成double/float浮点类型 System.out.println(String.format("%.2f",Double.valueOf(a))); } }