Baidu百科事典:数字の左側のゼロ以外の最初の数字から最後の数字まで、すべての数字はこの数字の有効な数字です。
これは、左側の最初のゼロ以外の数値から最後までの数値です。すべての数値(0を含み、科学的記数法で10のN乗を数えない)は有効数字と呼ばれます。簡単に言えば、数値の前にあるすべてのゼロを削除すると、最初の正の整数から正確な桁まですべてが重要な数値になります。
例:0.0109、最初の2つの0は有効な数字ではなく、後ろの109は有効な数字です(中央の0もカウントされることに注意してください)。
BigDecimal
小数のタイプは、MathContext
指定された有効な数字を使用できます。
/**
* 写法来自StackOverflow的Kru
* https://stackoverflow.com/questions/7572309/any-neat-way-to-limit-significant-figures-with-bigdecimal
*/
System.out.println(new BigDecimal(0.022223).round(new MathContext(3, RoundingMode.HALF_UP)));
// (四舍五入)输出:0.0222
System.out.println(new BigDecimal(144.022223).round(new MathContext(5, RoundingMode.HALF_UP)));
// (四舍五入)输出:144.02