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
扩展资料
#include <stdio.h>
#define C "C Programming"int main(void)
{
int a=12345float b=5.12345678
char e,d,f
scanf("%c %c %c",&e,&d,&f)
printf("int is:%d\n",a)
printf("float is:%f\n",b)
printf("char is:%s\n",C)return 0
}
1,对于浮点数
a=1.36852
a=round(a,2)
print a
#结果1.36
2,对于整数
from decimal import Decimal
a=1
a=Decimal(a).quantize(Decimal('0.00'))
print a
#结果1.00
3,通用方法
a=1
a=("%.2f" % a)
print a
#结果1.00
参考资料:百度百科 Python
百度百科 printf
情况一:保留两位小数,并做四舍五入处理1、使用字符串格式化
2、使用round内置函数
情况二:保留两位小数,无需四舍五入处理
1、使用序列中切片
2、使用re模块
1.第一步打开pycharm,新建一个py文件,输入“ a=1.2222345a=('%....2.第二步运行py文件之后,可以看到a小数点保留2位小数了,
3.第三步如果输入a=('%.4f' % a),就保留4位小数,需要注意是四舍五入,...
4.第四步我们也可以输入a=format(a, '.2f')来保留小数点位数,