背景:在做接口开发时,遇到一个需求是将经费值的位数限制在两位小数,不能四舍五入。数据库是不可更改的,只能从程序中进行限制。
首先,想到的是#java中限制小数点的位数#,查到了以下的解决方案:
Double dev=1.2999;
DecimalFormat df = new DecimalFormat("#.00");// 保留五位小数非四舍五入型
String str = df.format(dev);
System.out.println("The standard deviation is " + str);
单独运行这个是可以行得通的。
于是将程序修改成上述的模样,可是竟然报了数据类型的错误。我一看我的经费类型才发现接口给出的是string类型的,于是找到了以下的解决方案:
String aa="1234.56789";
String beginMonth = aa.substring(0, aa.indexOf(".")+3);
System.out.println(beginMonth);
通过字符串的截取实现了限制小数点的位数。
经过小半年的间断性接口开发工作,开始对java后端开发有一点点自己的认识了,知识体系开始清晰起来了。加油吧