求助:用Notepad++ Python Script插件处理货币换算数值取整
解决Notepad++ Python Script货币换算后保留两位小数的问题
需求回顾
- 处理文本中
#A、#B、#C、#D后的货币数值,先将逗号分隔的小数转为整数(如100,56转为10056),再除以655.957(对应原需求的除以6.55957) - 最终结果需保留两位小数,且自动补零(如
6.097...需显示为6.10)
修改后的可用脚本
def multiply_number_in_context(match): num = int(match.group(2)) / 655.957 # 格式化保留两位小数,自动四舍五入并补零 formatted_num = "{0:.2f}".format(num) return "{0}{1}".format(match.group(1), formatted_num) editor.rereplace(r'(\#A)(\d+)', multiply_number_in_context) editor.rereplace(r'(\#B)(\d+)', multiply_number_in_context) editor.rereplace(r'(\#C)(\d+)', multiply_number_in_context) editor.rereplace(r'(\#D)(\d+)', multiply_number_in_context)
这个脚本用字符串格式化替代单纯的round(),既能完成四舍五入,又能保证结果始终显示两位小数(比如原本的6.09796...会被格式化为6.10),完全符合你的需求。
内容的提问来源于stack exchange,提问作者anthonyb
相关产品推荐
相关产品推荐

