美文网首页
python的round怎么不准?时而有效时而无效?

python的round怎么不准?时而有效时而无效?

作者: wyude | 来源:发表于2022-03-23 21:39 被阅读0次

decimal 模块:decimal意思为十进制,这个模块提供了十进制浮点运算支持
python 标准库 decimal:Decimal可用来保存具有小数点而且数值确定的数值,它不像float和real是用来保存近似值
1.可以传递给Decimal整型或者字符串参数,但不能是浮点数据,因为浮点数据本身就不准确。

>>> 0.1+0.1
0.2
>>> 0.1+0.2
0.30000000000000004
#二进制表示浮点数就是不准确的

2.要从浮点数据转换为Decimal类型

from decimal import * 
Decimal.from_float(12.222)
#结果为Decimal('12.2219999999999995310417943983338773250579833984375')
#这个是因为传到 Decimal() 里的就已经不是一个精确的数值了
#要正确转换就要先把浮点转为字符串

3.通过设定有效数字,限定结果样式

from decimal import * 
getcontext().prec = 6 
Decimal(1)/Decimal(7)
 # 结果为Decimal('0.142857'),六个有效数字

4.四舍五入,保留几位小数

from decimal import * 
Decimal('50.5679').quantize(Decimal('0.00')) 
# 结果为Decimal('50.57'),结果四舍五入保留了两位小数

5.Decimal 结果转化为string

from decimal import * 
str(Decimal('3.40').quantize(Decimal('0.0'))) # 结果为'3.4',字符串类型

相关文章

  • python的round怎么不准?时而有效时而无效?

    decimal 模块:decimal意思为十进制,这个模块提供了十进制浮点运算支持python 标准库 decim...

  • 时而,时而

    有时候我会歇斯底里, 有时候我会沉默不语。 不是我愿意歇斯底里, 也不是我愿意沉默不语。 只是我的心时而想倾诉, ...

  • 时而,时而……

    以前的事,渐入云烟 以前的人,没入红尘 一年一年的,花开花谢 一天一天的,倏地晨昏 时而在原地等待风起 时而在途中...

  • 时而晴,时而阴

    看书,时间过得缓慢,页子被一页一页地翻开,逐字逐句地读,去理解其中的意思,仿佛身临其境。 没有...

  • 时而想家时而流浪

    自习的时候就突然想家了 想给家里打一个电话 妈妈下班躺在沙发上睡觉到刚刚 朦朦胧胧的 很平静的寒暄了几句 给老爸打...

  • 时而简单,时而复杂

    时而简单,时而复杂 就像一颗炽热的心在身体里,时隐时现 似乎,要想停下这颗跳动的心,就应该认同陌生人的存在。 现在...

  • 时而想起时而喜欢

    致早安 时而想起,时而喜欢 想起还在,喜欢还有 你骑的马,该结婚了 你爱的人,该嫁人了 飘忽的你,还在流浪 爱你的...

  • 时而寻找,时而遗忘

    总是在寻找,又总是在寻找的途中遗忘,寻找的目的居然是为了美丽的消逝,没有什么比这样的寻找更让人忧伤了。 走走停停,...

  • 时而清醒 时而迷糊

    我有一个创业梦,春初踏上了追梦之路; 在路上,时而清醒 方向明确,信心满满; 充满力量,奋力前进; 在路上,时而迷...

  • 时而惶恐,时而焦灼。

    2017年7月4日那天,他大学毕业,至今已经整整一个多月了。从小的时候,他就有一个梦想,那就是有一间属于自己的门店...

网友评论

      本文标题:python的round怎么不准?时而有效时而无效?

      本文链接:https://www.haomeiwen.com/subject/wgehjrtx.html