龙空技术网

BigDecimal的用法简介

Gochangecc 112

前言:

此刻姐妹们对“bigdecimal负数转正数”大致比较关怀,大家都想要知道一些“bigdecimal负数转正数”的相关内容。那么小编同时在网络上搜集了一些有关“bigdecimal负数转正数””的相关文章,希望我们能喜欢,朋友们一起来了解一下吧!

某些场景下需要将数字以保留指定位数的值展示,此时BigDecimal就可以派上用场了。

BigDecimal保留位数的模式

* @see #ROUND_UP 要舍弃的小数大于0.0进1

* @see #ROUND_DOWN 要舍弃的小数无论大小直接舍弃

* @see #ROUND_CEILING 正数同#ROUND_UP;负数同#ROUND_DOWN

* @see #ROUND_FLOOR 正数同#ROUND_DOWN;负数同#ROUND_UP

* @see #ROUND_HALF_UP 要舍弃的小数大于等于0.5进1

* @see #ROUND_HALF_DOWN 要舍弃的小数大于0.5进1

* @see #ROUND_HALF_EVEN 要舍弃的小数原数值的左边如果是奇数,同#ROUND_HALF_UP;如果是偶数,#ROUND_HALF_DOWN

* @see #ROUND_UNNECESSARY 保留位数后面不允许再有小数,否则报ArithmeticException异常

字符串类型数字保留位数

String num = "25.981";

System.out.println(new BigDecimal(num).setScale(2, BigDecimal.ROUND_UNNECESSARY));

两个BigDecimal运算保留位数

public static void main(String[] args) {

String num = "25.981";

// 字符串类型的数值转BigDecimal

BigDecimal b = new BigDecimal(num);

BigDecimal wanDecimal = new BigDecimal(10 * 1000);

// 保留2位小数

String v = b.divide(bigDecimal, 2, BigDecimal.ROUND_CEILING).toString();

System.out.println(v); //结果:0.01

}

标签: #bigdecimal负数转正数