按照你的要求为不确定保留几位小数的字符串做四舍五入的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)))