Python中decimal.Decimal类型和float类型的比较

 更新时间:2023年11月07日 09:30:44   作者:飞翔的宫保鸡丁  
这篇文章主要介绍了Python中decimal.Decimal类型和float类型的比较,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

Python decimal.Decimal和float类型比较

1,class 'decimal.Decimal' 转换成float类型

例如:

四色五入,保留两位小数 传入参数可以为字符串也可以为整数

num01 = Decimal(2.333).quantize(Decimal('0.00'))

此时 num01 类型为 'decimal.Decimal' ,需要转化成float类型在与浮点型作比较;

num01 = float(num01)

2,class 'decimal.Decimal' 转换成strt类型

num01 = str(Decimal(2.333).quantize(Decimal('0.00')))

num02 = str(float(2.33))

最后再做比较;

decimal报错:decimal.InvalidOperation: [<class ‘decimal.ConversionSyntax‘>]

from decimal import *
sum_vol=0
sum_rev=0
sum_gp=0
list2=['5\n457.5\n363.4\n4\n1\n0.5\n-5,847.9', '900\n247.1\n-22.3\n800\n100\n24.7\n26.9']
for xx in list2[:]:
    x = xx.split('\n')
    x[0] = x[0].replace(',', '')
    x[3] = x[3].replace(',', '')
    x[4] = x[4].replace(',', '')
    # x[6] = x[6].replace(',', '')
    sum_vol += Decimal(x[-3])
    sum_rev += Decimal(x[-2])
    sum_gp += Decimal(x[-1])
print(sum_vol)
print(sum_rev)
print(sum_gp)

运行结果报错:

分析

有3个求和,只有sum_gp报错了,原来是有个逗号

只需加上x[6] = x[6].replace(’,’, ‘’),就不会报错了

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Python判断字符串是否包含特定子字符串的多种方法(7种方法)

    Python判断字符串是否包含特定子字符串的多种方法(7种方法)

    我们经常会遇这样一个需求判断字符串中是否包含某个关键词,也就是特定的子字符串,接下来通过本文给大家分享Python判断字符串是否包含特定子字符串的多种方法(7种方法),需要的朋友可以参考下
    2023-03-03
  • Python实现轻松读取大文件的技巧揭秘

    Python实现轻松读取大文件的技巧揭秘

    Python提供了多种方法来读取文件内容,其中包括read()、readline()和readlines()三个常用的函数,本文将深入探讨这三个函数的使用方法,需要的可以参考一下
    2023-08-08
  • python通用读取vcf文件的类(复制粘贴即可用)

    python通用读取vcf文件的类(复制粘贴即可用)

    这篇文章主要介绍了python通用读取vcf文件的类(可以直接复制粘贴使用) ,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-02-02
  • 解决pandas .to_excel不覆盖已有sheet的问题

    解决pandas .to_excel不覆盖已有sheet的问题

    今天小编就为大家分享一篇解决pandas .to_excel不覆盖已有sheet的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-12-12
  • python中的import语句用法大全

    python中的import语句用法大全

    import语句用来导入其他python文件(称为模块module),使用该模块里定义的类、方法或者变量,从而达到代码复用的目的,文中给大家提到import 语句的两种格式通过示例代码介绍的很详细,需要的朋友参考下吧
    2021-07-07
  • 超详细,教你用python语言实现QQ机器人制作教程

    超详细,教你用python语言实现QQ机器人制作教程

    这篇文章主要介绍了如何python语言实现QQ机器人,用图文详细的描述了其中的操作步骤,非常的简单易上手,有需要的朋友可以参考下
    2021-08-08
  • 教你怎么用Python selenium操作浏览器对象的基础API

    教你怎么用Python selenium操作浏览器对象的基础API

    今天给大家带来的是关于Python的相关知识,文章围绕着怎么用Python selenium操作浏览器对象的基础API展开,文中有非常详细的介绍及代码示例,需要的朋友可以参考下
    2021-06-06
  • Pytest+Allure使用示例教程

    Pytest+Allure使用示例教程

    Allure是开源的免费的自动化测试报告,支持Java,Python,我们来看看如何使用Python pytest与Allure整合,输出漂亮的测试报告,这篇文章主要介绍了Pytest+Allure使用教程,需要的朋友可以参考下
    2023-12-12
  • Python yield 小结和实例

    Python yield 小结和实例

    yield的作用就是把一个函数变成一个 generator,带有 yield 的函数不再是一个普通函数,Python 解释器会将其视为一个 generator(不知道什么是generator要先去理解一下Python的generator的了)
    2014-04-04
  • python运用sklearn实现KNN分类算法

    python运用sklearn实现KNN分类算法

    这篇文章主要为大家详细介绍了python运用sklearn实现KNN分类算法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10

最新评论