套打.脚本案例.数值按照万分位输出

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-16浏览:1

套打.脚本案例.数值按照万分位输出

【场景】数值按照万分位输出 如 123456.12 输出 12,3456.12 【步骤】通过脚本实现自定义格式化 (0)实现一个python函数,输入一个数值,返回万分位字符串 借助市面上的gpt工具即可实现 ![image.webp](/download/01002a380e95b9b34457bc7ff667a1435a03.webp) 该函数只是实现了整数的处理,而没有负数和小数的处理,因此针对小数部分我们自行处理 ![image.webp](/download/01009f8cc6faaa2643909a079ba26d9356b2.webp) (1)调试验证,借助在线的python测试工具 ![image.webp](/download/010049bcd787538640ac9bcfae5722b063ad.webp) (2)套打配置脚本 ![image.webp](/download/01005bfe1728383a4b0abd84b31f0642bd6a.webp) ```python import clr clr.AddReference("Kingdee.BOS") clr.AddReference("Kingdee.BOS.Core") clr.AddReference("DevExpress.Data.v13.1") from Kingdee.BOS.Util import * from Kingdee.BOS.Core import * from DevExpress.Utils import * def OutputElement(e): ctrlId = ['cell60'] if(e.ControlInfo.ControlID in ctrlId): val = ObjectUtils.ToDecimal(e.ControlInfo.Text); e.ControlInfo.Text = to_wandecimal(val); def to_wan(num): # 将数值转换为整数 num = int(num) # 如果数值小于1万,则直接返回原始数值的字符串表示 if num < 10000: return str(num) # 计算数值的万分位表示 else: wan = num // 10000 remainder = num % 10000 # 递归处理整数部分,并将余数拼接在后面 return to_wan(wan) + "," + str(remainder) def to_wandecimal(num): ans = ''; intNum = int(num); if intNum <0: ans ='-'; print(ans); ans += to_wan(-intNum); else: ans += to_wan(intNum); if num - intNum != 0: strNum = str(num); dotIdx = strNum.index('.'); ans += strNum[dotIdx:]; return ans; ``` 【效果】 ![image.webp](/download/0100fe7fee205eed4841a57e2ba09a5e86d3.webp)

套打.脚本案例.数值按照万分位输出

【场景】数值按照万分位输出如 123456.12 输出 12,3456.12【步骤】通过脚本实现自定义格式化(0)实现一个python函数,输入一个数值,返回...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息