@@ -17,6 +17,7 @@ public class NumberUtils {
1717
1818 /**
1919 * 使用Machin公式将 π 近似
20+ *
2021 * @return π 近似值
2122 */
2223 private static BigDecimal approximatePi () {
@@ -32,9 +33,10 @@ private static BigDecimal approximatePi() {
3233
3334 /**
3435 * 使用泰勒级数展开计算arctan(x)
35- * @param x 输入值,|x| ≤ 1时效果最好
36- * @param mc 精度上下文
37- * @return arctan(x)
36+ *
37+ * @param x 输入值,|x| ≤ 1时效果最好
38+ * @param mc 精度上下文
39+ * @return arctan(x)
3840 */
3941 public static BigDecimal arctan (BigDecimal x , MathContext mc ) {
4042 if (x .compareTo (BigDecimal .ZERO ) == 0 )
@@ -48,7 +50,7 @@ public static BigDecimal arctan(BigDecimal x, MathContext mc) {
4850 int n = 0 ;
4951 boolean add = true ;
5052 while (term .abs ().compareTo (tolerance ) >= 0 ) {
51- result = add ? result .add (term , mc ): result .subtract (term , mc );
53+ result = add ? result .add (term , mc ) : result .subtract (term , mc );
5254 n ++;
5355 term = term .multiply (xSquared , mc )
5456 .multiply (BigDecimal .valueOf (2L * n - 1 ), mc )
@@ -68,9 +70,10 @@ public static BigDecimal arctan(BigDecimal x, MathContext mc) {
6870
6971 /**
7072 * 将角度缩小到范围[-π,π]
73+ *
7174 * @param angle 角度
7275 * @param mc 精度
73- * @return [-π, π]
76+ * @return [-π, π]
7477 */
7578 private static BigDecimal reduceAngle (BigDecimal angle , MathContext mc ) {
7679 angle = angle .remainder (TWO_PI , mc );
@@ -83,8 +86,9 @@ else if (angle.compareTo(PI.negate()) < 0)
8386
8487 /**
8588 * 判断BigDecimal是否为整数
86- * @param decimal BigDecimal
87- * @return 结果
89+ *
90+ * @param decimal BigDecimal
91+ * @return 结果
8892 */
8993 public static boolean isInt (BigDecimal decimal ) {
9094 BigDecimal stripped = decimal .stripTrailingZeros ();
@@ -93,9 +97,10 @@ public static boolean isInt(BigDecimal decimal) {
9397
9498 /**
9599 * 使用泰勒级数展开计算sin(x)
96- * @param x x
97- * @param mc 精度
98- * @return sin(x)
100+ *
101+ * @param x x
102+ * @param mc 精度
103+ * @return sin(x)
99104 */
100105 public static BigDecimal sin (BigDecimal x , MathContext mc ) {
101106 x = reduceAngle (x , mc );
@@ -116,9 +121,10 @@ public static BigDecimal sin(BigDecimal x, MathContext mc) {
116121
117122 /**
118123 * 使用泰勒级数展开计算cos(x)
119- * @param x x
120- * @param mc 精度
121- * @return cos(x)
124+ *
125+ * @param x x
126+ * @param mc 精度
127+ * @return cos(x)
122128 */
123129 public static BigDecimal cos (BigDecimal x , MathContext mc ) {
124130 x = reduceAngle (x , mc );
@@ -139,9 +145,10 @@ public static BigDecimal cos(BigDecimal x, MathContext mc) {
139145
140146 /**
141147 * 将tan计算为sin(x)/cos(x)
142- * @param x x
143- * @param mc 精度
144- * @return tan(x)
148+ *
149+ * @param x x
150+ * @param mc 精度
151+ * @return tan(x)
145152 */
146153 public static BigDecimal tan (BigDecimal x , MathContext mc ) {
147154 BigDecimal cos = cos (x , mc );
@@ -152,9 +159,10 @@ public static BigDecimal tan(BigDecimal x, MathContext mc) {
152159
153160 /**
154161 * 使用牛顿法计算BigDecimal的平方根
155- * @param x x
156- * @param mc 精度
157- * @return √x
162+ *
163+ * @param x x
164+ * @param mc 精度
165+ * @return √x
158166 */
159167 public static BigDecimal sqrt (BigDecimal x , MathContext mc ) {
160168 if (x .compareTo (BigDecimal .ZERO ) < 0 )
@@ -175,10 +183,11 @@ public static BigDecimal sqrt(BigDecimal x, MathContext mc) {
175183
176184 /**
177185 * 计算BigDecimal的x^y
178- * @param x x
179- * @param y y
180- * @param mc 精度
181- * @return x^y
186+ *
187+ * @param x x
188+ * @param y y
189+ * @param mc 精度
190+ * @return x^y
182191 */
183192 public static BigDecimal pow (BigDecimal x , BigDecimal y , MathContext mc ) {
184193 if (y .compareTo (BigDecimal .ZERO ) == 0 )
@@ -200,10 +209,11 @@ public static BigDecimal pow(BigDecimal x, BigDecimal y, MathContext mc) {
200209
201210 /**
202211 * 计算BigDecimal的x^y, 其中y为整数
203- * @param x x
204- * @param y y
205- * @param mc 精度
206- * @return x^y
212+ *
213+ * @param x x
214+ * @param y y
215+ * @param mc 精度
216+ * @return x^y
207217 */
208218 private static BigDecimal powInt (BigDecimal x , BigInteger y , MathContext mc ) {
209219 if (y .compareTo (BigInteger .ZERO ) < 0 )
@@ -219,9 +229,10 @@ private static BigDecimal powInt(BigDecimal x, BigInteger y, MathContext mc) {
219229
220230 /**
221231 * 使用泰勒级数计算ln(x)
222- * @param x x
223- * @param mc 精度
224- * @return ln(x)
232+ *
233+ * @param x x
234+ * @param mc 精度
235+ * @return ln(x)
225236 */
226237 public static BigDecimal ln (BigDecimal x , MathContext mc ) {
227238 if (x .compareTo (BigDecimal .ZERO ) <= 0 )
@@ -244,9 +255,10 @@ public static BigDecimal ln(BigDecimal x, MathContext mc) {
244255
245256 /**
246257 * 使用泰勒级数计算e^x
247- * @param x x
248- * @param mc 精度
249- * @return e^x
258+ *
259+ * @param x x
260+ * @param mc 精度
261+ * @return e^x
250262 */
251263 public static BigDecimal exp (BigDecimal x , MathContext mc ) {
252264 BigDecimal result = BigDecimal .ONE ;
0 commit comments