python脚本控制字段精度问题原创
3人赞赏了该文章
576次浏览
编辑于2021年06月22日 14:27:40
应用场景:物料收发汇总表,自定义字段小数点的精度过长的问题。
解决:
#基于他人的代码做修改 import clr clr.AddReference("System") clr.AddReference("System.Core") clr.AddReference("Kingdee.BOS") clr.AddReference("Kingdee.BOS.Core") clr.AddReference("Kingdee.BOS.DataEntity") from System import * from Kingdee.BOS.Core import * from Kingdee.BOS.Core.DynamicForm import * from Kingdee.BOS.Orm.DataEntity import * from Kingdee.BOS.Core.Report.PlugIn.Args import * from Kingdee.BOS.Core.Util import * def FormatCellValue(e): #格式化净重 if e.Header.Key == "F_jlkj_BaseProperty": #判断字段 newValue = Convert.ToDecimal(e.DataRow["F_jlkj_BaseProperty"]) #转换为Decimal类型 e.FormateValue= FieldFormatterUtil.GetDecimalFormatString(this.Context, newValue, 3) #保留3位小数 #格式化展开长 if e.Header.Key == "F_jlkj_BaseProperty1": newValue = Convert.ToDecimal(e.DataRow["F_jlkj_BaseProperty1"]) e.FormateValue= FieldFormatterUtil.GetDecimalFormatString(this.Context, newValue, 1); #格式化展开宽 if e.Header.Key == "F_jlkj_BaseProperty2": newValue = Convert.ToDecimal(e.DataRow["F_jlkj_BaseProperty2"]) e.FormateValue= FieldFormatterUtil.GetDecimalFormatString(this.Context, newValue, 1); #格式化料厚 if e.Header.Key == "F_jlkj_BaseProperty3": newValue = Convert.ToDecimal(e.DataRow["F_jlkj_BaseProperty3"]) e.FormateValue= FieldFormatterUtil.GetDecimalFormatString(this.Context, newValue, 1);
赞 3
3人点赞
还没有人点赞,快来当第一个点赞的人吧!
打赏
0人打赏
还没有人打赏,快来当第一个打赏的人吧!
推荐阅读