Python中取数字后N位推荐用取模运算:正整数直接num%(10n),负数建议abs(num)%(10n);小数需先转整数再处理;位数不足时不补零,需补零可用zfill或格式化。

在 Python 中取数字的后几位,最常用、最直接的方法是用取模运算(%),配合 10 的幂次。比如取后 2 位,就对 100 取模;取后 3 位,就对 1000 取模。
适用于整数,简洁高效:
num % (10 ** n)
-123 % 100 得 77),若需保持“最后几位数字”的直观含义(即忽略符号,取绝对值的后几位),建议先用 abs(num)
示例:
num = 12345 n = 3 last_n = num % (10 ** n) # → 345 <p>num = -12345 last_n = abs(num) % (10 ** n) # → 345(更符合直觉)</p>
如果数字可能是小数,或你更习惯字符串操作,可转成字符串再切片:
立即学习“Python免费学习笔记(深入)”;
Python v2.4版chm格式的中文手册,内容丰富全面,不但是一本手册,你完全可以把她作为一本Python的入门教程,教你如何使用Python解释器、流程控制、数据结构、模板、输入和输出、错误和异常、类和标准库详解等方面的知识技巧。同时后附的手册可以方便你的查询。
2
str(num)[-n:],但注意负数带负号(如 str(-12345)[-3:] 是 '345',其实也刚好可用)示例:
num = 12345 str(num)[-3:] # → '345' <p>num = -12345 str(num)[-3:] # → '345'(因为 '-12345'[-3:] 是从末尾取 3 个字符)</p><p>num = 123.456 int(round(num)) # → 123,再取后两位:str(123)[-2:] → '23'</p>
实际使用时容易忽略这些细节:
num=45, n=4),取模得 45,字符串切片得 '45' —— 两者都正确,不会补零;如需固定长度(如补前导零),可用 str(num).zfill(n)[-n:] 或格式化:f'{num % (10**n):0{n}d}'
10 ** n 在 n 很大时可能影响性能或精度,但日常场景(n ≤ 20)完全没问题0.1 + 0.2 != 0.3),不建议直接对浮点数做取模取后几位;应先转换为整数尺度(如乘以 10ᵏ 后取整)基本上就这些。整数用取模最快最稳,需要兼容小数或强调可读性时用字符串,注意补零和负数处理即可。
以上就是python中如何取数字的后几位的详细内容,更多请关注php中文网其它相关文章!
python怎么学习?python怎么入门?python在哪学?python怎么学才快?不用担心,这里为大家提供了python速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号