Java 数值不使用 包含(E) 科学计数法
//方式A:
double num=8.2347983984297E7;
String str=new BigDecimal(num+"").toString();
//方式B:
Double num=8.2347983984297E7;
String str=new BigDecimal(num.toString()).toString();
Bigdecimal 保留小数位
BigDecimal decimal = new BigDecimal("1.12345");
System.out.println(decimal);
BigDecimal setScale = decimal.setScale(4,BigDecimal.ROUND_HALF_DOWN);
System.out.println(setScale);
BigDecimal setScale1 = decimal.setScale(4,BigDecimal.ROUND_HALF_UP);
System.out.println(setScale1);
参数定义
ROUND_CEILING | 向正无穷方向舍入 |
ROUND_DOWN | 向零方向舍入 |
ROUND_FLOOR | 向负无穷方向舍入 |
ROUND_HALF_DOWN | 向(距离)最近的一边舍入,除非两边(的距离)是相等,如果是这样,向下舍入, 例如1.55 保留一位小数结果为1.5 |
ROUND_HALF_EVEN | 向(距离)最近的一边舍入,除非两边(的距离)是相等,如果是这样,如果保留位数是奇数,使用ROUND_HALF_UP ,如果是偶数,使用ROUND_HALF_DOWN |
ROUND_HALF_UP | 向(距离)最近的一边舍入,除非两边(的距离)是相等,如果是这样,向上舍入, 1.55保留一位小数结果为1.6 |
ROUND_UNNECESSARY | 计算结果是精确的,不需要舍入模式 |
ROUND_UP | 向远离0的方向舍入 |