Kev*_*vin 87
用这个:
printf ("%.2f", 3.14159);
Run Code Online (Sandbox Code Playgroud)
Ale*_*ing 13
你可以使用这样的东西:
printf("%.2f", number);
Run Code Online (Sandbox Code Playgroud)
如果您需要将字符串用于打印输出以外的其他内容,请使用以下NumberFormat类:
NumberFormat formatter = new DecimalFormatter("#.##");
String s = formatter.format(3.14159265); // Creates a string containing "3.14"
Run Code Online (Sandbox Code Playgroud)
System.out.printf("%.2f", number);
Run Code Online (Sandbox Code Playgroud)
但是,这会将数字四舍五入到您提到的最接近的小数点(因为在这种情况下,您将获得3.14,因为将3.14159四舍五入为小数点将为3.14)
由于函数printf会将数字四舍五入,因此其他一些数字的答案可能看起来像这样,
System.out.printf("%.2f", 3.14136); -> 3.14
System.out.printf("%.2f", 3.14536); -> 3.15
System.out.printf("%.2f", 3.14836); -> 3.15
Run Code Online (Sandbox Code Playgroud)
如果您只需要截取十进制数字并将其限制为k十进制数字而不四舍五入,
假设k = 2。
System.out.printf("%.2f", 3.14136 - 0.005); -> 3.14
System.out.printf("%.2f", 3.14536 - 0.005); -> 3.14
System.out.printf("%.2f", 3.14836 - 0.005); -> 3.14
Run Code Online (Sandbox Code Playgroud)