前言:
此刻姐妹们对“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负数转正数