舍入为非零的数字

问题描述 投票:0回答:4

在python中,您有round(number, digits)

我有类似的数字

0.123525,
0.01346346,
0.0078236346,
3.43568
...

我的目标是使round舍入到不为零的第一位数字>>

ie

0.1
0.01
0.008
3
...

我的伪代码方法:

convert double to string
for each literal in string check whether it's zero
once it's not, count digits
use digits for digits in round.

是否有现成的功能或优雅的方法?

在python中,您需要舍入(数字,数字)。我有像0.123525、0.01346346、0.0078236346、3.43568之类的数字...我的目标是四舍五入到不为零的第一个数字,即0.1 0.01 0 ....

python rounding
4个回答
0
投票

这取决于您通常期望的是:这些数字有多长时间,它们是正常数字,还是大多数零个小数字?


0
投票

喜欢这个:


0
投票

也许像这样:


-1
投票

而不是转换为字符串然后返回,您可以将数字乘以10并跟踪在值超过1.0之前必须执行多少次。

© www.soinside.com 2019 - 2024. All rights reserved.