mirror of
https://gitee.com/dromara/hutool.git
synced 2025-04-05 17:37:59 +08:00
Merge pull request #3721 from liujiabao88/v5-dev
fix-兼容NumberUtil.add方法传入整型自动类型转换为浮点类型的精度丢失问题
This commit is contained in:
commit
129588cfd3
@ -97,6 +97,38 @@ public class NumberUtil {
|
||||
return add(Double.toString(v1), Double.toString(v2)).doubleValue();
|
||||
}
|
||||
|
||||
/**
|
||||
* 提供精确的加法运算
|
||||
*
|
||||
* @param v1 被加数
|
||||
* @param v2 加数
|
||||
* @return 和
|
||||
*/
|
||||
public static double add(long v1, double v2) {
|
||||
return add(Long.toString(v1), Double.toString(v2)).doubleValue();
|
||||
}
|
||||
|
||||
/**
|
||||
* 提供精确的加法运算
|
||||
*
|
||||
* @param v1 被加数
|
||||
* @param v2 加数
|
||||
* @return 和
|
||||
*/
|
||||
public static double add(double v1, long v2) {
|
||||
return add(Double.toString(v1), Long.toString(v2)).doubleValue();
|
||||
}
|
||||
|
||||
/**
|
||||
* 提供精确的加法运算
|
||||
* @param v1 被加数
|
||||
* @param v2 加数
|
||||
* @return 和
|
||||
*/
|
||||
public static double add(long v1, long v2) {
|
||||
return add(Long.toString(v1), Long.toString(v2)).doubleValue();
|
||||
}
|
||||
|
||||
/**
|
||||
* 提供精确的加法运算
|
||||
*
|
||||
|
@ -665,4 +665,12 @@ public class NumberUtilTest {
|
||||
final Number number = NumberUtil.parseNumber("12,234,456");
|
||||
assertEquals(new BigDecimal(12234456), number);
|
||||
}
|
||||
|
||||
@Test
|
||||
public void addIntAndDoubleTest() {
|
||||
int v1 = 91007279;
|
||||
double v2 = 0.3545;
|
||||
final double result = NumberUtil.add(v1, v2);
|
||||
assertEquals(91007279.3545, result, 0);
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user