python 保留小数位数的问题
发布网友
发布时间:2022-04-25 15:13
我来回答
共3个回答
热心网友
时间:2022-04-07 06:27
f = lambda x, n: round(x, n - len(str(int(x))));
定义了一个方法f,用来实现你所说的功能。
输入:
f(123.456789, 8)
输出:
123.45678
输入:
f(1.23456789, 8)
输出:
1.2345679000000001
f接收2个参数,第一个参数是要求有效位数的数字,第二个参数是设置有效位数。第二次输出中的数字不够准确,这跟python处理小数的方式有关,如果想要准确的数字可以使用python decimal类。或者用python3k追问你这个方法当然可行,可我想问有没有很简单很简单的方式,类似于基本的输入输出那种。不是我非要这样,而是,老师现在讲的非常基础,肯定不是用这种方法的,肯定是非常基本的方法,我们用的是python 3.1.2。
追答这已经是很简单很简单的方法了,只用了一行语句就完成了功能,还有比这更简单的么。方法是否复杂取决于你要实现的功能本身。仔细想一下,你的功能并不是原子级的,而且python也没有内建方法来实现这种功能,只能自己写函数。另外,你们为什么要学习的python3.1呢,这是一个很尴尬的版本啊
热心网友
时间:2022-04-07 07:45
i=1.23456
round(i,2)可以把i四舍五入保留二位小数
热心网友
时间:2022-04-07 09:20
>>>round(2.124,2)
>>>2.12