如何打印小数点右边的特定数字


1.45
4

嘿,每个人,我需要打印小数点右边的数字,如果我输入1.45,它需要输出4,因为它的第一个数字点之后,我也尝试乘以10或100,但我不知道多少数字将在点之后,所以如果有3个数字点之后,你仍然需要打印点之后的第一个数字。我试过使用" 2f"我也试着在网上找一些东西,我发现的都是关于"。2f"的。

只需乘以10,通过转换为int忽略任何小数部分,然后打印值模数10。这样的:

n = 1.45
print(int(n * 10) % 10)

输出:

4

使用format和浮点格式说明符将数字转换为字符串:

x = 1.45
'{:f}'.format(x) # '1.45'

(格式说明符需要避免使用科学符号,如1e-09)

split求小数部分:

x = 99
'{:f}'.format(x).split('.') # ['99', '000000']

从列表中取出第二部分:

x = -3.1415
'{:f}'.format(x).split('.')[1] # '141500'

然后取第一个字符

x = 1.45
print('{:f}'.format(x).split('.')[1][0]) # 4

稍微修改一下,这将可以提取任何十进制数字:

x = 0.000000000001234
print('{:20f}'.format(x).split('.')[1][12]) # 12th decimal is 2

在这里,我使用20来生成足够的小数(默认为6)。

最新更新