繁体   English   中英

python 中的有效数字舍入

Round to significant figures in python

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我想像这样四舍五入 42949672 -> 42949700、2147483647 -> 2147480000、4252017622 -> 4252020000 等。

我尝试使用以下,但仅适用于第一个。 如何制作更通用的? 谢谢

round(42949672, -2)
5 个回复

我想像这样四舍五入为42949672-> 42949700,2147483647-> 2147480000,4252017622-> 4252020000等

我尝试使用following,但仅适用于第一个。 我该如何做一个更通用的? 谢谢

round(42949672, -2)

我想像这样四舍五入为42949672-> 42949700,2147483647-> 2147480000,4252017622-> 4252020000等

我尝试使用following,但仅适用于第一个。 我该如何做一个更通用的? 谢谢

round(42949672, -2)

我想像这样四舍五入为42949672-> 42949700,2147483647-> 2147480000,4252017622-> 4252020000等

我尝试使用following,但仅适用于第一个。 我该如何做一个更通用的? 谢谢

round(42949672, -2)

我想像这样四舍五入为42949672-> 42949700,2147483647-> 2147480000,4252017622-> 4252020000等

我尝试使用following,但仅适用于第一个。 我该如何做一个更通用的? 谢谢

round(42949672, -2)

在@david-joy 的 function 上扩展。 事实上,它在 else 子句中不能正常工作,实际上并不是所有情况都包含在 if 子句中。 所以这是我的 function。

def round_to_nsf(number, nsf=2):
    integer_part = math.floor(number)
    if integer_part > 0:
        integer_part_len = len(str(integer_part))
        return round(number, nsf-integer_part_len)
    else:
        st = {'1', '2', '3', '4', '5', '6', '7', '8', '9'}
        index = next((i for i, ch in enumerate(str(number)) if ch in st), None)
        return round(number, index)
2 在Python中舍入数字

上面的代码是用python3编写的,输出如下: 这是任何一种计算错误还是遗漏了一点,请解释。 这个问题可能看起来与此类似,但并非如此,我正在寻找可能的解决方案 ...

4 舍入数字到两个重要数字

我相信对于你们在Swift中经验丰富的人来说这是一个简单的问题,但是,我刚开始学习如何编程并且不知道从哪里开始。 我想要做的是将数字舍入到最接近的整数或第三个数字。 这就是我的意思: 我知道swift有一个.rounded()函数,我已经设法使用它来舍入最近的第10个,第100个等等 ...

6 舍入到 Python 中的给定数字

我正在运行一个模拟,其中人们以小(月,周)的增量老化。 但是,我在不一致的年龄间隔中有危险。 是否有一种简单/有效的方法可以随时将我的年龄四舍五入到最近的年龄组(为了提取该年龄的危险? ...

7 在Python中舍入一个数字

我试图在python中使用数学模块对数字进行舍入。 所以当我这样做的时候 我得到'2.0'是对的。 我仍然得到'2.0' 我想得到3,因为它最接近2.7 有人可以建议一个解决方法。 提前致谢。 ...

8 在 python 中舍入一个数字 [重复]

这个问题在这里已经有了答案: 你如何四舍五入一个数字? (26 个回答) 6 个月前关闭。 我想知道我们如何在不使用 math.ceil function 的情况下对 python 进行四舍五入。 我尝试使用条件“如果”,但它不起作用。 例如:4.01 将变为 5,而 4.0 将保持 4。请问 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM