python保留小数位

前言

保留小数位是我们经常会碰到的问题,尤其是刷题过程中。那么在python中保留小数位的方法也非常多,但是笔者的原则就是什么简单用什么,因此这里介绍几种比较简单实用的保留小数位的方法:

方法一:format函数

>>> print(‘{:.3f}‘.format(1.23456))
1.235
>>> print(format(1.23456, ‘.2f‘))
1.23

正如上面代码所示,format有不同用法,前者使用了占位符{},使用占位符可以同时输出多个,后者一次只能输出一个,需要注意的是占位符中的冒号不能丢。笔者推荐使用占位符+format输出。

>>> print(‘{:.3f} {:.2f}‘.format(1.23456, 1.23456))
1.235 1.23

方法二:‘%.xf‘方法

>>> print(‘%.2f‘ % 1.23456)
1.23

这种方法同样比较简单直观,看大家习惯选择吧,笔者还是习惯第一种方法。

方法三:round()函数

>>> print(round(1.23456,3))
1.235
>>> print(round(2.355,2))
2.35
>>> print(round(2.5))
2
>>> print(round(3.5))
4

round()函数比较迷,它不完全是按照四舍五入的原则来进位的,因此不建议大家使用。它的保留值将保留到离上一位更近的一端(四舍六入),如果距离两端一样远,则会保留到偶数的一边。好了笔者也要绕晕了,反正笔者是不会用这种方法的。

原文地址:https://www.cnblogs.com/marvin-wen/p/12159155.html

时间: 2024-07-31 21:36:35

python保留小数位的相关文章

sprintf() 处理 float类型的数字,保留小数位等。

关于 sprintf()的百科地址: http://baike.baidu.com/view/1295144.htm sprintf(szText, "%[填空字元][宽度][.精度]f", v); 填空字元: 0 的话表示空格填 0:空格是内定值,表示空格就放着. 1. 设置保留小数位长度, 注意: 会四舍五入 2. 设置输出宽度,不够部分用空格填充 3. 设置输出宽度和[填充字符],不够部分,用[填充字符:0]来填充  2014-08-04

C# 当double数值较大且小数位过多时转化成字符串并保留小数位

今天在C#中碰到了一个问题,需要将double转换成字符串显示,要求保留小数位. 在网上查询了一下相关的文章 具体如下: double temp=3.1415926; (F)Fixed point:string str1=temp.toString("f1");//保留一位小数 四舍五入 结果:3.1 (F)Fixed point:string str2=temp.toString("f2");//保留两位小数,四舍五入 下面一次类推 结果:3.14 (N)Numb

解决使用DbContext保存Decimal数据时总是保留小数位2位问题

通过System.Data.Entity.DbContext保留Decimal类型数据时,默认只保留小数位2位.要解决该问题,可以通过在OnModelCreating事件中添加相应代码即可,具体参考如下代码中将shop.Longitude设置为小数位20位: public class UserDbContext : System.Data.Entity.DbContext { public UserDbContext() : base("MyContext") { this.Confi

python保留关键字和常用关键字

python保留关键字和常用关键字如下: 上图是python3中的关键字,python2.7中的关键字部分会有区别,具体在自己打印输出查看: import keyword print ' '.join(keyword.kwlist) lambda  用于匿名函数中 assert 断言语句,常用与调试 raise    用于异常处理 yield    连续输出,和print都是输出,不同在于输出次数 nonlocal   python3.0中有,表示使用使用外层变量,和global对比去看

python保留指定文件、删除目录其他文件的功能

由于给客户的发布版本上客户改动了些代码和图片,我们这边给他们更新publish都是增量更新(开发提供更新指定的文件,我们提取出来给客户进行覆盖更新),但有时需要更新的文件较多导致不得不一个一个的进行查找.替换,工作量大而且容易出错.所以用python写个保留pulish后目录的指定文件.删除其他文件的功能. 代码如下 1 import os 2 import os.path 3 4 def DeleteFiles(path,fileList): 5 for parent,dirnames,fil

Python保留浮点数位数和整数补0的方法

最简单的格式如下: a=1.333333344,将这个数保存为小数点后3位 '%.03f'%a 不过这样做返回的结果会变成一个字符串,显示为: p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 14.0px Courier; background-color: #ffffff } span.s1 { } '1.333' 所以只要再在前面加个float()即可返回正常浮点数,即: float('%.03f'%a) 但如果输入 '%03f'%a 这里没有了那

python保留指定文件、删除目录其他文件的功能(2)

在(1)中脚本实现了保留指定文件的功能,但不能删除空目录,在此补上删除空目录的方法 1 def DeleteEmptyDir(path): 2 for i in range(1,100): 3 for parent,dirnames,filenames in os.walk(path): 4 for dirname in dirnames: 5 6 FullPath = parent + '\\' + dirname 7 8 if not os.listdir(FullPath): 9 os.r

poi 处理excel 小数问题 整数不保留小数位 整数多.0

读取的单元格为 hssfCell ,传入下面我提供的方法处理默认poi返回的为DOUBLE,所有先转为Long判断下,再进行返回: private String getValue(Cell hssfCell) { if (hssfCell.getCellType() == hssfCell.CELL_TYPE_BOOLEAN) { // 返回布尔类型的值 return String.valueOf(hssfCell.getBooleanCellValue()); } else if (hssfC

蓝桥杯入门训练——圆的面积(保留小数位)

这一题主要是考察四舍五入,保留小数点后n位 以下是找到的几个保留小数7位的方法 方法一:使用DecimalFormat类 //1.#.00 表示两位小数 #.0000四位小数 以此类推... double d1=3.14159265358979323; DecimalFormat df=new DecimalFormat("#.0000000"); String dd1=df.format(d1); //返回的是一个String类型的值 System.out.println(Doubl