在Python中,将数字的最后一位数字替换为零并保持前三位数字不变的最佳方法是什么?
例子:
23456789 -> 23400000
112022 -> 112000
1111-> 1110
111 -> 111 (no conversion)
Run Code Online (Sandbox Code Playgroud)
round接受一个负参数,这非常有用,但它对结果进行四舍五入,这可能不完全是你想要的:
a = 23456789
round(a, -4)
Run Code Online (Sandbox Code Playgroud)
23460000
Run Code Online (Sandbox Code Playgroud)
如果您不想舍入,您可以使用一个小的辅助函数,也许像这样:
import math
def significant(num, signum):
expo = 10**(int(math.log(num, 10)) - signum + 1)
return expo * (num // expo)
significant(12345, 3)
Run Code Online (Sandbox Code Playgroud)
12300
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3093 次 |
| 最近记录: |