@特别鸣谢:
BigDecimal转String
public static void main(String[] args) { // 浮点数的打印 System.out.println(new BigDecimal("10000000000").toString()); // 普通的数字字符串 System.out.println(new BigDecimal("100.000").toString()); // 去除末尾多余的0 System.out.println(new BigDecimal("100.000").stripTrailingZeros().toString()); // 避免输出科学计数法 System.out.println(new BigDecimal("100.000").stripTrailingZeros().toPlainString()); }
@特别鸣谢:
java中的BigDecimal和String的相互转换
/*由数字字符串构造BigDecimal的方法 *设置BigDecimal的小数位数的方法 */ import java.math.BigDecimal; //数字字符串 String StrBd="1048576.1024"; //构造以字符串内容为值的BigDecimal类型的变量bd BigDecimal bd=new BigDecimal(StrBd); //设置小数位数,第一个变量是小数位数,第二个变量是取舍方法(四舍五入) bd=bd.setScale(2, BigDecimal.ROUND_HALF_UP); //转化为字符串输出 String OutString=bd.toString();
如果直接用toString()方法,或者用String.valueOf() 得到的是科学计数法或者是小数点后很多位。
但是有时候前端显示可能只想要到小数点有数字的位数。这时候就需要用到方法
.stripTrailingZeros().toPlainString();
PS:
stripTrailingZeros() 是去掉无用的0位,
toPlainString() 是避免写成科学计数法。