java中小数怎么四舍五入?

Python015

java中小数怎么四舍五入?,第1张

按照你的要求为不确定保留几位小数的字符串做四舍五入的Java程序如下

import java.math.BigDecimal

public class A {

public static void main(String[] args) {

String s="0.00000999999997"

//四舍五入,length是小数位数

int length=s.substring(s.indexOf(".")+1).length()

String s1=String.format("%."+(length-1)+"f",new BigDecimal(s))

//去尾部0

BigDecimal bd=new BigDecimal(s1).stripTrailingZeros()

System.out.println(bd.toPlainString())

}

}

使用String.format("%.2f",num)//num是要处理的数据

这种方法可以用float,double接收数据类型,我试了一下String接收好像会报错,小伙伴也可以试一下。可以四舍五入保留两位小数,但是小数点第二位是0的话会不显示。以下代码用到此方法的语句:value.add(Double.valueOf ( String.format("%.2f", Double.valueOf(list.get(3).replace("\"", ""))*100)))