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)。