DataRow舍入模式(四舍五入/五舍六入/四舍六入 五留双/银行家舍入法)
最后更新:2023-10-18 20:11:22
|
状态:未完成
/**
* 舍入
* @param target 结果保存位置,如果与key一致则覆盖原值
* @param key 属性
* @param scale 小数位
* @param mode 舍入 参考BigDecimal
* ROUND_UP=0 舍入远离零的舍入模式 在丢弃非零部分之前始终增加数字(始终对非零舍弃部分前面的数字加 1) 如:2.36 转成 2.4
* ROUND_DOWN=1 接近零的舍入模式 在丢弃某部分之前始终不增加数字(从不对舍弃部分前面的数字加1,即截短). 如:2.36 转成 2.3
* ROUND_CEILING=2 接近正无穷大的舍入模式 如果 BigDecimal 为正,则舍入行为与 ROUND_UP 相同 如果为负,则舍入行为与 ROUND_DOWN 相同 相当于是 ROUND_UP 和 ROUND_DOWN 的合集
* ROUND_FLOOR=3 接近负无穷大的舍入模式 如果 BigDecimal 为正,则舍入行为与 ROUND_DOWN 相同 如果为负,则舍入行为与 ROUND_UP 相同 与ROUND_CEILING 正好相反
* ROUND_HALF_UP=4 四舍五入
* ROUND_HALF_DOWN=5 五舍六入
* ROUND_HALF_EVEN=6 四舍六入 五留双(银行家舍入法)
如果舍弃部分左边的数字为奇数,则舍入行为与 ROUND_HALF_UP 相同(四舍五入)
如果为偶数,则舍入行为与 ROUND_HALF_DOWN 相同(五舍六入)
如:1.15 转成 1.2,因为5前面的1是奇数;1.25 转成 1.2,因为5前面的2是偶数
* ROUND_UNNECESSARY=7 断言请求的操作具有精确的结果,因此不需要舍入 如果对获得精确结果的操作指定此舍入模式,则抛出 ArithmeticException
* @return DataRow
*/
public DataRow round(String target, String key, int scale, int mode)
* 舍入
* @param target 结果保存位置,如果与key一致则覆盖原值
* @param key 属性
* @param scale 小数位
* @param mode 舍入 参考BigDecimal
* ROUND_UP=0 舍入远离零的舍入模式 在丢弃非零部分之前始终增加数字(始终对非零舍弃部分前面的数字加 1) 如:2.36 转成 2.4
* ROUND_DOWN=1 接近零的舍入模式 在丢弃某部分之前始终不增加数字(从不对舍弃部分前面的数字加1,即截短). 如:2.36 转成 2.3
* ROUND_CEILING=2 接近正无穷大的舍入模式 如果 BigDecimal 为正,则舍入行为与 ROUND_UP 相同 如果为负,则舍入行为与 ROUND_DOWN 相同 相当于是 ROUND_UP 和 ROUND_DOWN 的合集
* ROUND_FLOOR=3 接近负无穷大的舍入模式 如果 BigDecimal 为正,则舍入行为与 ROUND_DOWN 相同 如果为负,则舍入行为与 ROUND_UP 相同 与ROUND_CEILING 正好相反
* ROUND_HALF_UP=4 四舍五入
* ROUND_HALF_DOWN=5 五舍六入
* ROUND_HALF_EVEN=6 四舍六入 五留双(银行家舍入法)
如果舍弃部分左边的数字为奇数,则舍入行为与 ROUND_HALF_UP 相同(四舍五入)
如果为偶数,则舍入行为与 ROUND_HALF_DOWN 相同(五舍六入)
如:1.15 转成 1.2,因为5前面的1是奇数;1.25 转成 1.2,因为5前面的2是偶数
* ROUND_UNNECESSARY=7 断言请求的操作具有精确的结果,因此不需要舍入 如果对获得精确结果的操作指定此舍入模式,则抛出 ArithmeticException
* @return DataRow
*/
public DataRow round(String target, String key, int scale, int mode)
public DataRow round(String key, int scale, int mode)