您现在的位置是:课程教程文章
python默认保留几位小数
2023-12-18 20:05课程教程文章 人已围观
-
软件测试用例的设计要素 测试涨薪必看
软件测试用例的设计要素 测试涨薪必看... -
软件测试 Python Appium 自动化测试开发
软件测试 Python Appium 自动化测试开发课程大纲 01. Appium应用介绍和基础环境准备 02. Android Stdio环境配置和使用 03. A... -
中国Python开发者大会PyConChina2017
中国Python开发者大会PyConChina2017今年,IEEE Spectrum 发布了第四届顶级编程语言排行榜,Python高居首位。 谁会成为... -
Python Web开发动手练习项目V1.0 学生管理系
Python Web开发动手练习项目V1.0 学生管理系一、融汇贯通 将Python语言和Django基础知识,以实际应用为媒介,有机组织、融...
处理一个数据文件,发现数据不一致,小数点后有三位、四位、六位、更多位。部分还进行四舍五入。
需要对数据文件进行处理。如果有效位超过6位,则四舍五入。如果小于6位,则保持原来的数字不变。
考虑两种情况:
小数点后无数字:判断数字有效位(len(str(num))-1)是否超过6,超过则通过整除去尾,没有则返回
小数点后有数字:判断数字有效位(len(str(num))-1)是否超过6,超过则四舍五入round(f, n - len(str(int(f)))),没有则返回。
推荐学习《Python教程》
代码:
def format(f, n): if round(f)==f: m = len(str(f))-1-n if f/(10**m) ==0.0: return f else: return float(int(f)/(10**m)*(10**m)) return round(f, n - len(str(int(f)))) if len(str(f))>n+1 else f
注意:
round不是简单的四舍五入
round()如果只有一个数作为参数,不指定位数的时候,返回的是一个整数,而且是最靠近的整数(这点上类似四舍五入)。但是当出
现.5的时候,两边的距离都一样,round()取靠近的偶数,这就是为什么round(2.5) = 2。当指定取舍的小数点位数的时候,一般情况也是
使用四舍五入的规则,但是碰到.5的这样情况,如果要取舍的位数前的小树是奇数,则直接舍弃,如果偶数这向上取舍。看下面的示例:
>>> round(2.635, 2) 2.63 >>> round(2.645, 2) 2.65 >>> round(2.655, 2) 2.65 >>> round(2.665, 2) 2.67 >>> round(2.675, 2) 2.67课程教程:python默认保留几位小数
下一篇:没有了