DataRow在其中一列基础上加减乘除

最后更新:2023-10-18 20:11:30 | 状态:未完成

在key列基础上 +value,如果原来没有key列则默认0并put到target
如果target与key一致则覆盖原值

public DataRow add(String target, String key, int value)
public DataRow add(String key, int value)
value类型可以是float,double,BigDecimal
加法:add()
减法:subtract()

乘法:multiply()

除法:divide((String target, String key, int value, int scale, int mode)

     * 除法,涉及到小数位与舍入问题可以提供scale,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<br/>

最近更新 搜索 提交