mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-04-19 03:01:48 +08:00
Merge pull request #1127 from akiyamaneko/patch-5
优化NumberUtil中针对BigDecimal的一些处理逻辑
This commit is contained in:
commit
20bd97e052
@ -126,7 +126,7 @@ public class NumberUtil {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Number value = values[0];
|
Number value = values[0];
|
||||||
BigDecimal result = new BigDecimal(null == value ? "0" : value.toString());
|
BigDecimal result = null == value ? BigDecimal.ZERO : new BigDecimal(value.toString());
|
||||||
for (int i = 1; i < values.length; i++) {
|
for (int i = 1; i < values.length; i++) {
|
||||||
value = values[i];
|
value = values[i];
|
||||||
if (null != value) {
|
if (null != value) {
|
||||||
@ -150,7 +150,7 @@ public class NumberUtil {
|
|||||||
}
|
}
|
||||||
|
|
||||||
String value = values[0];
|
String value = values[0];
|
||||||
BigDecimal result = new BigDecimal(null == value ? "0" : value);
|
BigDecimal result = null == value ? BigDecimal.ZERO : new BigDecimal(value);
|
||||||
for (int i = 1; i < values.length; i++) {
|
for (int i = 1; i < values.length; i++) {
|
||||||
value = values[i];
|
value = values[i];
|
||||||
if (null != value) {
|
if (null != value) {
|
||||||
@ -266,7 +266,7 @@ public class NumberUtil {
|
|||||||
}
|
}
|
||||||
|
|
||||||
Number value = values[0];
|
Number value = values[0];
|
||||||
BigDecimal result = new BigDecimal(null == value ? "0" : value.toString());
|
BigDecimal result = null == value ? BigDecimal.ZERO : new BigDecimal(value.toString());
|
||||||
for (int i = 1; i < values.length; i++) {
|
for (int i = 1; i < values.length; i++) {
|
||||||
value = values[i];
|
value = values[i];
|
||||||
if (null != value) {
|
if (null != value) {
|
||||||
@ -290,7 +290,7 @@ public class NumberUtil {
|
|||||||
}
|
}
|
||||||
|
|
||||||
String value = values[0];
|
String value = values[0];
|
||||||
BigDecimal result = new BigDecimal(null == value ? "0" : value);
|
BigDecimal result = null == value ? BigDecimal.ZERO : new BigDecimal(value);
|
||||||
for (int i = 1; i < values.length; i++) {
|
for (int i = 1; i < values.length; i++) {
|
||||||
value = values[i];
|
value = values[i];
|
||||||
if (null != value) {
|
if (null != value) {
|
||||||
@ -402,15 +402,15 @@ public class NumberUtil {
|
|||||||
* @since 4.0.0
|
* @since 4.0.0
|
||||||
*/
|
*/
|
||||||
public static BigDecimal mul(Number... values) {
|
public static BigDecimal mul(Number... values) {
|
||||||
if (ArrayUtil.isEmpty(values)) {
|
if (ArrayUtil.isEmpty(values) || ArrayUtil.hasNull(values)) {
|
||||||
return BigDecimal.ZERO;
|
return BigDecimal.ZERO;
|
||||||
}
|
}
|
||||||
|
|
||||||
Number value = values[0];
|
Number value = values[0];
|
||||||
BigDecimal result = new BigDecimal(null == value ? "0" : value.toString());
|
BigDecimal result = new BigDecimal(value.toString());
|
||||||
for (int i = 1; i < values.length; i++) {
|
for (int i = 1; i < values.length; i++) {
|
||||||
value = values[i];
|
value = values[i];
|
||||||
result = result.multiply(new BigDecimal(null == value ? "0" : value.toString()));
|
result = result.multiply(new BigDecimal(value.toString()));
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
@ -436,18 +436,15 @@ public class NumberUtil {
|
|||||||
* @since 4.0.0
|
* @since 4.0.0
|
||||||
*/
|
*/
|
||||||
public static BigDecimal mul(String... values) {
|
public static BigDecimal mul(String... values) {
|
||||||
if (ArrayUtil.isEmpty(values)) {
|
if (ArrayUtil.isEmpty(values) || ArrayUtil.hasNull(values)) {
|
||||||
return BigDecimal.ZERO;
|
return BigDecimal.ZERO;
|
||||||
}
|
}
|
||||||
|
|
||||||
String value = values[0];
|
BigDecimal result =new BigDecimal(values[0]);
|
||||||
BigDecimal result = new BigDecimal(null == value ? "0" : value);
|
|
||||||
for (int i = 1; i < values.length; i++) {
|
for (int i = 1; i < values.length; i++) {
|
||||||
value = values[i];
|
result = result.multiply(new BigDecimal(values[i]));
|
||||||
if (null != value) {
|
|
||||||
result = result.multiply(new BigDecimal(value));
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -460,17 +457,13 @@ public class NumberUtil {
|
|||||||
* @since 4.0.0
|
* @since 4.0.0
|
||||||
*/
|
*/
|
||||||
public static BigDecimal mul(BigDecimal... values) {
|
public static BigDecimal mul(BigDecimal... values) {
|
||||||
if (ArrayUtil.isEmpty(values)) {
|
if (ArrayUtil.isEmpty(values) || ArrayUtil.hasNull(values)) {
|
||||||
return BigDecimal.ZERO;
|
return BigDecimal.ZERO;
|
||||||
}
|
}
|
||||||
|
|
||||||
BigDecimal value = values[0];
|
BigDecimal result = values[0];
|
||||||
BigDecimal result = null == value ? BigDecimal.ZERO : value;
|
|
||||||
for (int i = 1; i < values.length; i++) {
|
for (int i = 1; i < values.length; i++) {
|
||||||
value = values[i];
|
result = result.multiply(values[i]);
|
||||||
if (null != value) {
|
|
||||||
result = result.multiply(value);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user