这里提供三种实现方式:
实现代码
import java.math.BigDecimal;
import java.text.DecimalFormat;
/**
* @author 四个空格-https://www.4spaces.org/
*/
public class JavaSetScale {
public static void main(String[] args) {
double number = 0.125400;
DecimalFormat df = new DecimalFormat("0.00");
BigDecimal bd=new BigDecimal(number);
System.out.println("1.使用java.text.DecimalFormat:" +df.format(number));
System.out.println("2.使用String.format:" +String.format("%.2f",number));
System.out.println("3.使用java.math.BigDecimal:" +bd.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue());
}
}
打印结果:
1.使用java.text.DecimalFormat:0.13
2.使用String.format:0.13
3.使用java.math.BigDecimal:0.13
扩展
示例代码1:
/**
* @author 四个空格-https://www.4spaces.org/
*/
public class JavaSetScale {
public static void main(String[] args) {
double number = 0.00225400;
DecimalFormat df = new DecimalFormat("0.00");
System.out.println("1.使用new DecimalFormat(\"0.00\"):" +df.format(number));
df = new DecimalFormat("#.##");
System.out.println("2.使用new DecimalFormat(\"#.##\"):" +df.format(number));
}
}
结果:
1.使用new DecimalFormat("0.00"):0.00
2.使用new DecimalFormat("#.##"):0
1.写法DecimalFormat df = new DecimalFormat("0.00")
,不管传入的任何值,均保留两位小数;
2.写法DecimalFormat df = new DecimalFormat("#.##")
,则保留小数点后面不为0的两位小数,这种写法不能保证保留2为小数,但能保证最后一位数不为0;
3.java.text.DecimalFormat
、String.format
都符合四舍五入,java.math.BigDecimal
既支持四舍五入,也支持其他;
4.java.text.DecimalFormat
、String.format
返回的是String类型;
5.String.format("%.2f",number)
可以改为String.format("%.3f",number)
等从而保留想要的小数位数。
最新评论
网飞没问题, 迪士尼+有解决方案么?
pp助手是安卓手机用的,根本下载用不来苹果
已解决
这样的话数据库里的结构为{"attachment":{"content":"xxx"}}, 要怎么才能变成{"content":"xxx"},从而使结构保持一致?
赞! make test不过的坑都写到的,谢谢楼主~
谢谢你
用了root用户还是一直502是怎么回事呢
student id 是空的