EAS 根据物料设置单价以及数量的精度问题

本文介绍了EAS系统中如何通过KDTableUtils工具类来设置物料单价和数量显示的精度,主要涉及setBigDecimalColumnPrecision方法,该方法用于设定表格中涉及金额和数量的列的精度,确保数据展示的准确性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        int pricePrecision = materialInfo.getPricePrecision();//  单价的精度
        int qtyPrecision = 0;
if (materialInfo != null && materialInfo != null) {
try {
IMultiMeasureUnit imultiUnit = MultiMeasureUnitFactory.getLocalInstance(ctx);
// 取得计量单位在物料中对应的多计量单位
    MultiMeasureUnitInfo multiUnitInfo = imultiUnit.getMultiUnit(materialInfo.getId().toString(), materialInfo.getBaseUnit().getId().toString());
    if (multiUnitInfo != null) {
    qtyPrecision = multiUnitInfo.getQtyPrecision();// 数量精度
    }
} catch (Exception e) {
logger.error(e);
}

}


 com.kingdee.eas.st.common.util.KDTableUtils.setBigDecimalColumnPrecision(kdtEntries,new String[] { "weighNumber","ownSuttle","diNumber","dwNumber","dhNumber","settleNumber","freightNumber","cokeBreezeNumber"}, qtyPrecision);


/**
     * 设置列的显示格式
     * @param table
     * @param colNames
     * @param precision
     * @date 2008-1-3
     * @author wangyb
     */
    public static void setBigDecimalColumnPrecision(KDTable table,String[] colNames,int precision){
//     KDTDefaultCellEditor editor = new KDTDefaultCellEditor(getBigDecimalTextField(precision));
        KDTDefaultCellEditor editor = FormattedEditorFactory.getBigDecimalCellEditor(precision,true);
    String sFormat = PrecisionUtil.getFormatString(precision);
    for(int i=0;i<colNames.length;i++){
    IColumn column = table.getColumn(colNames[i]);
    if(column!=null){
    column.setEditor(editor);
    column.getStyleAttributes().setNumberFormat(sFormat);
    }
    }
    }








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值