小数位的四舍五入在项目中经常用到。

你可能有注意到 round 函数不能真正做到四舍五入。

round() 函数作用就是,返回浮点数x的四舍五入值。

round( x [, n] )

简单来说就是在浮点运算的时候丢精度。

这个与计算机系统的设计是有关系的,计算机是使用 2 进制进行计算的的,如果我们常用的数学计算或者科学计算,计算机是会丢精度的。

因此我们的解决方案其实非常简单就是使用 Decimal 来进行数学计算。

浮点计算丢精度的问题不仅仅是 Python 会遇到的问题,Java 、 C/C++ 都会遇到这个问题。

可以考察下面的代码:

print(round(2.3, 2))print(round(2.45, 1))print(round(2.675, 2))

print(Decimal(1.325))

print(Context(prec=3, rounding=ROUND_HALF_UP).create_decimal('2.675'))

上面程序的输出为:

2.32.52.671.3249999999999999555910790149937383830547332763671875

2.68

因此,在你需要进行浮点计算的时候,不要使用 Float 进行计算,你需要使用 Decimal 进行数学计算。

例如在 Java 中,我们会使用 BigDecimal 进行精确的科学计算。

php round函数输出不对_Python 四舍五入函数 Round相关推荐

  1. python用函数输出田字格_python用函数输出田字格

    用python输出田字格,有两种办法: 第一种使用print函数 代码如下print("+-----+-----+") print("+ + +") print ...

  2. python求平均值函数是什么_python自定义函数ma(x,y)求简单平均值输出结果到列表...

    该楼层疑似违规已被系统折叠 隐藏此楼查看此楼 def ma(x,y): ''' # 自定义函数"ma(x,y)"指南 函数格式:ma(x,y) 函数功能:求序列数据x的y周期的简单 ...

  3. python自定义函数详解_Python自定义函数

    自定义函数 使用def定义函数,例如: def my_abs(x) : if x >= 0 : return x else : return -x 函数可以返回多个值,但是这是假象,实际上函数返 ...

  4. python class函数报错_Python 的函数是第一类 First-Class 对象

    Python的函数是第一类对象(first-class object).你可以把一个函数复制给变量,或者把函数存储在一个结构中.可以像参数一样把函数传递进另一个函数,还可以从一个函数中返回另一个函数. ...

  5. python入口函数的作用_python之函数中参数的作用域

    学编程究竟学的是什么呢?在写文章的这几天也一直在思考这个问题--恐怕这也是接下来的几年一直会去思考的问题.这个问题的答案也会指导我的方法论,所以索性整顿一下. 现阶段我的回答是,发现需求,然后解决. ...

  6. python help函数怎么用_python help函数实例用法

    有些人说py中有两个函数可以实现对所有函数的了解以及使用,其中之一,就是我们今天要讲解的help函数.有些小伙伴可能比较陌生,但是另一个函数是dir函数,这样是不是就能搞懂了.两者一定是跟查询有关的, ...

  7. python set函数 返回排序_Python排序函数的使用方法详解

    Python排序函数完美体现了Python语言的简洁性,对于List对象,我们可以直接调用sort()函数(这里称为"方法"更合适)来进行排序,而对于其他可迭代对象(如set,di ...

  8. python中常用的函数有哪些_python常用函数有哪些

    Python常用函数: 1. print()函数:打印字符串 2. raw_input()函数:从用户键盘捕获字符 3. len()函数:计算字符长度 4. format(12.3654,'6.2f' ...

  9. python map函数的作用_python map函数用法详解

    原博文 2018-05-02 16:24 − python中的map()函数是一个内置的高阶函数,一般用法是map(function, iterable).需要传入一个函数,这个函数可以是内置的,也可 ...

最新文章

  1. Go:分布式学习利器(1) -- 开发环境搭建 + 运行第一个go程序
  2. CentOS下yum找不到安装软件的解决方法。
  3. ubuntu docker慢_基于docker搭建MulVAL攻击图
  4. 2020年快手短视频直播电商营销增长宝典
  5. ArchLinux安装配置
  6. ASP.Net MVC-Web API使用Entity Framework时遇到Loop Reference
  7. 【STC15】通过PWM波实现呼吸灯效果
  8. 计网实验总结一:路由器配置
  9. Java HotSpot虚拟机提高性能,做了哪些操作
  10. 如何做一名有趣的家长?
  11. 程序员到底有没有必要买一台阿里云服务器?
  12. python使用pillow生成纯透明png图片
  13. 微信开发者工具字体模糊
  14. python输出1到100之间的合数_python输出100以内的质数与合数实例代码
  15. 什么 是模型的记忆力!
  16. 任岁月变迁,我心不惊
  17. 冥想|平静与自由之路,给初学者的冥想教程
  18. Hbase JavaAPi介绍和使用示例(待更新)
  19. JAVA虚拟机的安装以及JAVA的环境配置
  20. 数据结构和非数据结构详解

热门文章

  1. MS SQL 获取字符串最后出现的字符串及位置
  2. 【BZOJ-2325】道馆之战 树链剖分 + 线段树
  3. 【模拟】Codeforces 710C Magic Odd Square
  4. Android Studio 从入门到精通
  5. Microsoft Visual C++ Runtime Library Runtime Error的解决的方法
  6. (Prototype)原型模式的Java实现(转)
  7. 类的const和非const成员函数的重载
  8. java输出二进制数_Java打印整数的二进制表示(代码与解析)
  9. 动态给a标签赋值_怎样利用Excel制作抖音上的心形动态函数图像?
  10. titanic数据集_TF2.0结构化数据建模流程范例