我想在浮点数的最后添加1,如下所示:
0.0735 + 0.0001 = 0.0736
但是我会得到不同长度的花车,并且每个我想在最后加1,如下:
0.000398必须添加到0.000399 0.000000281必须是0.000000282。
另外,如果它是这样的:0.0000280,我需要将它添加到0,而不是8.这让我相信我基本上有一个问题:我需要找到0之后的第一个数字然后计数2更多它是什么,并添加1(基本上保持3个数字,即使之后有0)
有没有办法做到这一点?
编辑:我已经尝试了len(str(n))
,但问题是零,因为我无法控制数字的长度,这样的数字:0.01应该添加到0.0101但如果我有0.0111我想要0.0112。我的意思是,程序通常会隐藏零,这就是为什么我说我可能需要在它上面找到第一个非零数字。
答案 0 :(得分:2)
10 ^ floor(log10(n))将在与第一个数字相同的位置获得1位数(例如0.0001表示0.000399),因此添加0.01倍:
n = 0.0735
n += 0.01 * 10 ** math.floor(math.log10(n))