python(数据精度处理)
2024-10-21 12:45:03
一、取整处理
1.int() 向下取整 内置函数
1 n = 3.75 2 print(int(n))>>> 3 3 n = 3.25 4 print(int(n))>>> 3
2.round() 四舍五入 内置函数
1 n = 3.75 2 print(round(n))>>> 4 3 n = 3.25 4 print(round(n))>>> 3
3. floor() 向下取整 math模块函数
floor的英文释义:地板。顾名思义也是向下取整
1 import math 2 n = 3.75 3 print(math.floor(n))>>> 3 4 n = 3.25 5 print(math.floor(n))>>> 3
4.ceil()向上取整 math模块函数
ceil的英文释义:天花板。
1 import math 2 n = 3.75 3 print(math.ceil(n))>>> 4 4 n = 3.25 5 print(math.ceil(n))>>> 4
5.modf() 分别取整数部分和小数部分 math模块函数
该方法返回一个包含小数部分和整数部分的元组
1 import math 2 n = 3.75 3 print(math.modf(n))>>> (0.75, 3.0) 4 n = 3.25 5 print(math.modf(n))>>> (0.25, 3.0) 6 n = 4.2 7 print(math.modf(n))(0.20000000000000018, 4.0)
最后一个的输出,涉及到了另一个问题,即浮点数在计算机中的表示,在计算机中是无法精确的表示小数的,至少目前的计算机做不到这一点。上例中最后的输出结果只是 0.2 在计算中的近似表示。Python 和 C 一样, 采用 IEEE 754 规范来存储浮点数。
二、小数处理
1.数据精度处理,保留小数位数
(1)%f四舍五入方法 ---> "%.2f"
- 这个方法是最常规的方法,方便实用
a = 1.23456 print ('%.4f' % a) print ('%.3f' % a) print ('%.2f' % a) ----->1.2346 ----->1.235 ----->1.23
(2)不四舍五入
- 方法1:使用序列中切片
#coding=utf-8 a = 12.345 print (str(a).split('.')[0] + '.' + str(a).split('.')[1][:2]) ----> '12.34'
- 方法2:使用re正则匹配模块
import re a = 12.345 print (re.findall(r"\d{1,}?\.\d{2}", str(a))) ---->['12.34']
最新文章
- Node.js入门
- .NET中那些所谓的新语法之二:匿名类、匿名方法与扩展方法
- Windows 7 的系统文件修复:sfc /scannow
- zencart用chrome无法登录后台
- 小木棍 (codevs 3498)题解
- 判断CString字符串中各位是数字,大小写字母,符号,汉字.xml
- js上传文件获取客户端地址
- hdu 3715
- js日期和毫秒相互转换
- MVC表单提交加JS验证
- VC版八皇后
- NSBundle的用法
- office 2013幻灯片中插入SmartArt图形时出现错误下列一个或多个文件由于包含错误而无法运行
- MySQL 'localhost' (10061)解决方法
- CF892/problem/C
- 大大维的游戏机计划1--贪吃蛇v1
- TG可能会用到的动态规划-简易自学
- oracle 11gR2 ASM添加和删除磁盘
- 图像跟踪(1) CSK
- e-olymp Problem4196 Chocolate bars