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();
|
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");
|
final Number number = NumberUtil.parseNumber("12,234,456");
|
||||||
assertEquals(new BigDecimal(12234456), number);
|
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