Java-api

Java 相关API

Java-api

java.text

支付场景下做数值计算时,必须得控制计算结果的精度,能用DecimalFormat 保留小数点后几位、数字间用,分割、四舍五入等场合。

1
DecimalFormat df = new DecimalFormat("0.0#");

关键符号

  • 0:以0 填充空缺位
  • .: 小数的分隔符的占位符
  • ,:分组分隔符的占位符 (只能放在整数部分)
  • #:取整数

java.math

RoundingMode

DecimalFormat 提供 RoundingMode 中定义的舍入模式进行格式化。默认情况下,它使用RoundingMode.HALF_EVEN

1
2
DecimalFormat df = new DecimalFormat("0.00");
df.setRoundingMode(RoundingMode.HALF_UP);

BigDecimal

商业运算中, 必须计算到选定的精度和舍入模式, 而BigDecimal类提供操作用于算术,比例操作,舍入,比较,散列和格式转换。注意必须字符串传入

1
2
3
4
5
6
7
BigDecimal balanceBigDecimal = new BigDecimal("100");
BigDecimal payAmountBigDecimal = new BigDecimal("0.123");
BigDecimal result = balanceBigDecimal.subtract(payAmountBigDecimal);
//舍入操作 返回 BigDecimal其值近似(或精确)等于操作数的值
result = result.setScale(2, BigDecimal.ROUND_HALF_EVEN);
System.out.println(result);
//99.88

PriorityQueue

优先级队列

0%