Java 小数保留一位有效数字
程序员文章站
2022-03-25 16:56:44
最近在项目中遇到一个小问题,对小数保留一位有效数字;在这里跟大家分享一下解决方法,如果大家有更好的解决方法欢迎评论指点 //小数部分取到第一个非0位,并向正上取值 public double getCeilDouble(double number) { String str = new Decima ......
最近在项目中遇到一个小问题,对小数保留一位有效数字;在这里跟大家分享一下解决方法,如果大家有更好的解决方法欢迎评论指点
//小数部分取到第一个非0位,并向正上取值 public double getceildouble(double number) { string str = new decimalformat("0.0000000000").format(number); //将number格式化为小数点后面有10位数的小数 string[] fore = str.split("[1-9]", 2);//截取小数前面为0的部分《如:0.0002,取0.000) string[] split = str.split(".", 2); //截取小数点后面的部分(包含了小数点) int aft = integer.parseint(split[1].substring(1)); //去除小数点然后转成整数 int len = (aft+"").length();//获取有几位数 aft=(int) math.ceil(aft/math.pow(10, len-1)); //最后保留1位(向正取值) return double.parsedouble(fore[0]+aft); }
因为需求有效数字我使用的是向上取整,如果需要向下取整或者四舍五入可以将math.ceil替换成math.floor或者math.round