way1:Decimal

示例代码:

from decimal import Decimal
numStr = '1.13'
print('====a', Decimal(numStr) * Decimal('1e8'))
print('====b', Decimal(numStr) * Decimal(1e8))
print('====c', Decimal(float(numStr)) * Decimal('1e8'))
print('====d', Decimal(float(numStr)) * Decimal(1e8))

输出结果:

示例代码输出结果:
====a 1.13E+8
====b 113000000.00
====c 112999999.9999999893418589636
====d 112999999.9999999893418589636

示例1说明: numStr 1.13 × 1e8期望值是113000000.00,而实际计算过程中因为float精度问题会导致计算结果出现偏差。具体原因可以看文末的参考。示例1是使用Decimal计算的结果对比,可以看出如果要得出期望值时,可以考虑使用b输出结果的计算方式。

way2:round

示例代码:

numStr = '1.13'
a = float(numStr)*1e8
print('====a', a)
print('====b',round(a))
print('====c', round(a,2))
print('====d', round(a,3))
print('====e', '%.3f'%a)

输出结果:

示例代码输出结果:
====a 112999999.99999999
====b 113000000
====c 113000000.0
====d 113000000.0
====e 113000000.000

示例2说明: 示例2是使用round() 方法返回浮点数a的四舍五入值。也可以得到期望值113000000.0,如果需要对计算结果进行小数点保留可以使用e输出结果的方式。

参考:
1、

Python之☞float浮点数精度问题 - String-Lee - 博客园 (cnblogs.com)https://www.cnblogs.com/String-Lee/p/9840160.html
2、Asking for Help/How can I add or substract two to the last digit of a float? - Python Wikihttps://wiki.python.org/moin/Asking%20for%20Help/How%20can%20I%20add%20or%20substract%20two%20to%20the%20last%20digit%20of%20a%20float%3F?highlight=%28%5CbCategoryAskingForHelpAnswered%5Cb%29
3、
11. Brief Tour of the Standard Library — Part II — Python 3.10.4 documentationhttps://docs.python.org/3/tutorial/stdlib2.html#decimal-floating-point-arithmetic
4、Python3.中的浮点数运算(存在的.99999问题)_小白羊000的博客-CSDN博客https://blog.csdn.net/qq_41447652/article/details/123953908?utm_medium=distribute.pc_relevant.none-task-blog-2~default~baidujs_title~default-1.pc_relevant_paycolumn_v3&spm=1001.2101.3001.4242.2&utm_relevant_index=4%E2%80%8B

python float 精度 处理相关推荐

  1. python float 精度_浅谈Python里面小数点精度的控制

    要求较小的精度 round()内置方法 这个是使用最多的,刚看了round()的使用解释,也不是很容易懂.round()不是简单的四舍五入的处理方式. For the built-in types s ...

  2. python float精度问题_Python之☞float浮点数精度问题

    (下面是精度漏洞的问题-转自其它) 从下面这段脚本体现出来: >>> x = 0.0 >>> for i in range(10): x += 0.1 print( ...

  3. python float 精度_谈谈关于Python里面小数点精度控制的问题

    基础 浮点数是用机器上浮点数的本机双精度(64 bit)表示的.提供大约17位的精度和范围从-308到308的指数.和C语言里面的double类型相同.Python不支持32bit的单精度浮点数.如果 ...

  4. python float 精度_numpy.float128的内部精度是多少?

    numpy.longdouble指的是C编译器调用的任何类型long double.当前,这是numpy支持的唯一扩展精度浮点类型. 在x86-32和x86-64上,这是一种80位浮点类型.在更特殊的 ...

  5. python float 精度_改变Float的精度并在Python中存储

    我一直在寻找答案,只发现了我的问题. 我通过这个过程来评论代码,说明哪些有效,哪些无效 我为每一行得到了什么错误.提前致谢. # # list_of_numbers is a list with nu ...

  6. [转载] python 超高精度除法_Python十进制-除法,舍入,精度

    参考链接: Python中的精度处理 python 超高精度除法 Python decimal module helps us in division with proper precision an ...

  7. python 超高精度除法_Python十进制-除法,舍入,精度

    python 超高精度除法 Python decimal module helps us in division with proper precision and rounding of numbe ...

  8. double java 精度丢失_java中double和float精度丢失问题及解决方法

    在讨论两位double数0.2和0.3相加时,毫无疑问他们相加的结果是0.5.但是问题总是如此吗? 下面我们让下面两个doubles数相加,然后看看输出结果: @Test public void te ...

  9. UE4角色Location远距离时动画抖动问题(float精度不够)解决方案

    正题:关于UE4引擎当角色Location超过9999.999后,角色动画更新抖动问题的解决思路. 前提: 1.UE4引擎中距离单位是厘米(cm),也就说我们制作好1.8米的角色在UE4中为180个虚 ...

最新文章

  1. 贾扬清:我对人工智能方向的一点浅见
  2. @ConditionalOnClass注解的作用
  3. [学习笔记]我们追过的神奇异或(Trie树系列)
  4. 图片异步上传,使用ajax上传图片
  5. 【java】关于Map的排序性的一次使用,有序的Map
  6. python 中字符串大小写转换
  7. 52单片机定时器2使用(C语言程序)
  8. PowerPoint 2010新功能应用
  9. python画条形图-python绘制条形图方法代码详解
  10. Android apk的安装、卸载、更新升级(通过Eclipse实现静默安装)
  11. access mysql odbc驱动程序_access odbc驱动下载|
  12. 腾讯管家中的壁纸无下载按钮,如何保存?
  13. 多频段压缩参数均衡器:Initial Audio Dynamic EQ Mac
  14. 《MLB棒球创造营》:走近棒球运动·洛杉矶道奇队
  15. package.json文件指南
  16. Win下VS2019配置PCL点云库总结
  17. Scons入门指南 使用教程 笔记
  18. 【C++】从extern关键字开始谈C语言多文件编程
  19. 水龙卷 waterspout
  20. Ubuntu16.04下Opencv3.4.5的卸载与带cuda安装

热门文章

  1. ThinkPad T14 Gen1 AMD 版本 Linux 安装核显驱动
  2. 【C语言数组题】编写程序查找一个英文句子中所有的最长的单词
  3. 【C++】关于std::ostream的构造函数
  4. 摩客—原型设计工具[Win/OS X]
  5. 【笑小枫的SpringBoot系列】【八】SpringBoot集成Redis
  6. Cloudin云英面试题:0的阶乘自然数e的意义
  7. OSG 各个Example介绍
  8. Student(3)——查询所有班级信息(上)
  9. 世界首度!ArtFin谈针对少儿的“艺术饭+”行动@版权猫ip猫ipMALL.io
  10. 985CS科班的一名很寂寞很寂寞的小男孩的2021年度总结