热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

获取整数的最后三位数

如何解决《获取整数的最后三位数》经验,为你挑选了2个好方法。

我希望将一个整数,如23457689更改为689,12457245到245等.

我不要求对数字进行舍入,也不希望必须转换为String.

有关如何在Python 2.7中完成此操作的任何想法?



1> Warren Wecke..:

使用%操作:

>>> x = 23457689
>>> x % 1000
689

%mod(即modulo)操作.



2> ely..:

正确处理正整数和负整数:

>>> x = -23457689
>>> print abs(x) % 1000
689

作为一种功能,您可以选择要保留的前导数字的数量:

import math
def extract_digits(integer, digits=3, keep_sign=False):
    sign = 1 if not keep_sign else int(math.copysign(1, integer))
    return abs(integer) % (10**digits) * sign

避免转换的约束str太迂腐了.str如果数字的格式可能改变或者需要保留的尾随数字的格式将改变,则转换为这是一种很好的方法.

>>> int(str(x)[-3:])
              ^^^^^ Easier to modify this than shoe-horning the mod function.


"价值永远不会改变......"每个程序员都说过.
推荐阅读
author-avatar
victor
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有