java double保留四位小数_double类型数据保留四位小数的另一种思路

来源:透析公式处理,有时候数据有很长的小数位,有的时候由在四位以内,如果用一般的处理方法,那么不足四位的小树会补充0到第四位,这样子有点画蛇添足的感觉,不太好看。所以要根据小数的位数来处理判断。

思路:先把数的小数位和整数位分开成分别的数字字符串,判断小数字符串的长度,如果小于等于四位则直接把原来的数变成字符串返回;如果大于四位,则用字符串函数截取前四位,舍掉尾数。最后把整数部分和小数部分拼接起来返回,就完成了。

/**

* @描述:把计算结果根据小数点的位数截取合适的值。即如果小数点位数小于等于4则不做处理,如果大于四则取前四位

* @方法名: SubFourPoint

* @创建人:陈洋

* @创建时间:2018年6月25日下午2:24:40

* @param number

* @return

* @return String

*/

private static String SubFourPoint(double number) {

int aa = (int) Math.floor(number);//获取整数部分

String bb = String.valueOf(number).replaceAll("\\d+\\.", ""); //获取小数部分

String dd = "";

if(bb.length() > 4) {

String cc = bb.substring(0, 4);//截取前四位小数

if("0000".equals(cc)) {

dd = String.valueOf(aa);

}else {

dd = String.valueOf(aa)+"."+cc;

}

}else {

dd = String.valueOf(number);//不处理小数位,直接转成String类型

}

return dd;

}

扩展:其他的处理保留小数位的方法。

第一种:

java.text.DecimalFormat df =new java.text.DecimalFormat("#.00");

df.format(你要格式化的数字);

第二种:

double d = 3.1415926;

String result = String .format("%.2f",d);

第三种:

double x=23.5455;

NumberFormat ddf1=NumberFormat.getNumberInstance();

ddf1.setMaximumFractionDigits(2);

String s= ddf1.format(x) ;

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值