如何将数字最后三位转为000?商品价格舍入需求的简单实现方案
数字末三位转000实现方案
核心逻辑分两类,可根据使用场景选择:
商品价格场景优先选择数值取整方案,避免字符串操作对带小数、负数的异常值处理出错。
方案1:数值取整法(通用全场景)
将原数除以1000后按业务需求取整,再乘以1000即可,不同工具/语言的实现如下:
- Python
向下取整(默认推荐,避免超收):num // 1000 * 1000
四舍五入:round(num / 1000) * 1000
浮点数向下取整:import math; math.floor(num / 1000) * 1000 - JavaScript
向下取整:Math.floor(num / 1000) * 1000
四舍五入:Math.round(num / 1000) * 1000 - Excel/WPS表格
向下取整:=FLOOR(目标单元格, 1000)
四舍五入:=ROUND(目标单元格, -3) - SQL
向下取整:FLOOR(字段名 / 1000) * 1000
方案2:字符串截断法(仅正整数场景)
如果只处理正整数,也可以直接截断字符串末三位后拼接000,以Python为例:
num = 123456 result = int(str(num)[:-3] + '000')
运行结果为 123000
注意:该方案不支持长度不足3位的数字、带小数的价格、负数价格,使用前需要先做参数校验
内容的提问来源于stack exchange,提问作者Peter
相关产品推荐
相关产品推荐

