当前位置: 首页 > news >正文

电话销售企业网站怎么做科技百科

电话销售企业网站怎么做,科技百科,商业设计,中国拟在建项目网浮点数一个普遍的问题就是在计算机的世界中#xff0c;浮点数并不能准确地表示十进制。并且#xff0c;即便是最简单的数学运算#xff0c;也会带来不可控制的后果。因为#xff0c;在计算机的世界中只认识0与1 因为在计算机里面#xff0c;小数是不精确的#xff0c;例如…浮点数一个普遍的问题就是在计算机的世界中浮点数并不能准确地表示十进制。并且即便是最简单的数学运算也会带来不可控制的后果。因为在计算机的世界中只认识0与1 因为在计算机里面小数是不精确的例如1.115在计算机中实际上是1.1149999999999999911182所以当你对这个小数精确到小数点后两位的时候实际上小数点后第三位是4所以四舍五入因此结果为1.11。 这种说法对了一半。因为并不是所有的小数在计算机中都是不精确的。例如0.125这个小数在计算机中就是精确的它就是0.125没有省略后面的值没有近似它确确实实就是0.125。 但是如果我们在Python中把0.125精确到小数点后两位那么它的就会变成0.12为什么在这里四舍了? 还有更奇怪的另一个在计算机里面能够精确表示的小数0.375我们来看看精确到小数点后两位是多少:为什么这里又五入了?因为在Python 3里面round对小数的精确度采用了四舍六入五成双的方式。 如果你写过大学物理的实验报告那么你应该会记得老师讲过直接使用四舍五入最后的结果可能会偏高。所以需要使用奇进偶舍的处理方法。 例如对于一个小数a.bcd需要精确到小数点后两位那么就要看小数点后第三位:   如果d小于5直接舍去如果d大于5直接进位 如果d等于5d后面没有数据且c为偶数那么不进位保留c。d后面没有数据且c为奇数那么进位c变成(c 1) python中的decimal模块可以解决上面的烦恼  decimal模块中可以通过整数字符串或原则构建decimal.Decimal对象。如果是浮点数特别注意因为浮点数本身存在误差需要先将浮点数转化为字符串。 当然精度提升的同时肯定带来的是性能的损失。在对数据要求特别精确的场合例如财务结算这些性能的损失是值得的。 但是如果是大规模的科学计算就需要考虑运行效率了。毕竟原生的float比Decimal对象肯定是要快很多的。 Python提供了decimal模块用于十进制数学计算它具有以下特点 1.提供十进制数据类型并且存储为十进制数序列 2.有界精度用于存储数字的位数是固定的可以通过decimal.getcontext.precx 来设定不同的数字可以有不同的精度 3.浮点十进制小数点的位置不固定但位数是固定的 python decimal.quantize()参数rounding的decimal文档里面的解释 ROUND_CEILING (towards Infinity), ROUND_DOWN (towards zero), ROUND_FLOOR (towards -Infinity), ROUND_HALF_DOWN (to nearest with ties going towards zero), ROUND_HALF_EVEN (to nearest with ties going to nearest even integer), ROUND_HALF_UP (to nearest with ties going away from zero), or ROUND_UP (away from zero). ROUND_05UP (away from zero if last digit after rounding towards zero would have been 0 or 5; otherwise towards zero) 下面通过具体代码理解每个参数 # -*- coding: utf-8 -*-#作者cacho_37967865 #博客https://blog.csdn.net/sinat_37967865 #文件dealFloat.py #日期2019-08-01 #备注python使用浮点类型float计算后数值可能不对,这时候需要使用decimal模块 from decimal import Decimal,getcontext from decimal import ROUND_UP,ROUND_DOWN,ROUND_HALF_UP,ROUND_HALF_DOWN,ROUND_HALF_EVEN,ROUND_05UP,ROUND_CEILING ,ROUND_FLOORx 4.20 y 2.10 a 1.20 b 2.30 d 195.00def float_info():# a.bcd ,精确2位小数点i 1.115 # 在计算机中实际上是1.1149999999999999911182 四舍五入1.11j 0.125 # d后面没有数据且c为偶数那么不进位保留c 四舍五入0.12l 0.1251 # d后面有数据c变成(c 1) 四舍五入0.13k 0.375 # d后面没有数据且c为奇数那么进位c变成(c 1) 四舍五入0.38print(四舍五入,round(i,2))print(四舍五入,round(j, 2))print(四舍五入,round(l, 2))print(四舍五入,round(k, 2))def decimal_info():# a.bcd ,精确2位小数点 默认进位方式i 1.115 # 在计算机中实际上是1.1149999999999999911182 四舍五入1.11j 0.125 # d后面没有数据且c为偶数那么不进位保留c 四舍五入0.12l 0.1251 # d后面有数据c变成(c 1) 四舍五入0.13k 0.375 # d后面没有数据且c为奇数那么进位c变成(c 1) 四舍五入0.38print(浮点型数据不精确,Decimal(i))print(浮点型数据也可能精确, Decimal(j))print(传入的是字符串默认方式四舍五入, Decimal(str(i)).quantize(Decimal(0.00))) # 1.12print(传入的是浮点型默认方式四舍五入,Decimal(i).quantize(Decimal(0.00))) # 1.11print(传入的是浮点型默认方式四舍五入,Decimal(j).quantize(Decimal(0.00)))print(传入的是浮点型默认方式四舍五入,Decimal(l).quantize(Decimal(0.00)))print(传入的是浮点型默认方式四舍五入,Decimal(k).quantize(Decimal(0.00)))# 最好传入字符串print(传入的是字符串真实四舍五入, Decimal(str(i)).quantize(Decimal(0.00), ROUND_HALF_UP))print(传入的是字符串真实四舍五入, Decimal(str(j)).quantize(Decimal(0.00), ROUND_HALF_UP))print(传入的是字符串真实四舍五入, Decimal(str(l)).quantize(Decimal(0.00), ROUND_HALF_UP))print(传入的是字符串真实四舍五入, Decimal(str(k)).quantize(Decimal(0.00),ROUND_HALF_UP))print(传入的是字符串向上取值, Decimal(0.121).quantize(Decimal(0.00), ROUND_UP)) # 向上入 0.13print(传入的是字符串向下取值, Decimal(0.129).quantize(Decimal(0.00), ROUND_DOWN)) # 向下舍 0.12print(传入的是字符串向上四舍五入, Decimal(0.125).quantize(Decimal(0.00), ROUND_HALF_UP)) # 最后一位5向上入 0.13print(传入的是字符串向下四舍五入, Decimal(0.125).quantize(Decimal(0.00), ROUND_HALF_DOWN)) # 最后一位5向下舍 0.12print(传入的是字符串默认方式四舍五入, Decimal(0.125).quantize(Decimal(0.00), ROUND_HALF_EVEN)) # 默认四舍五入方式 0.12 quansize的默认设置值print(传入的是字符串默认方式四舍五入, Decimal(0.375).quantize(Decimal(0.00), ROUND_HALF_EVEN)) # 默认四舍五入方式 0.38print(传入的是字符串精确位数字为5入, Decimal(5.351).quantize(Decimal(0.00), ROUND_05UP)) # 精确的最后一位为0或者5向上入否者向下舍5.36print(传入的是字符串精确位数字为0入, Decimal(5.301).quantize(Decimal(0.00), ROUND_05UP)) # 精确的最后一位为0或者5向上入否者向下舍5.31print(传入的是字符串精确位数字非0和5舍, Decimal(5.399).quantize(Decimal(0.00), ROUND_05UP)) # 精确的最后一位为0或者5向上入否者向下舍5.39print(传入的是字符串正数时与ROUND_UP一致, Decimal(5.391).quantize(Decimal(0.00), ROUND_CEILING)) # 5.40print(传入的是字符串正数时与ROUND_DOWN一致, Decimal(5.399).quantize(Decimal(0.00), ROUND_FLOOR)) # 5.39print(传入的是字符串负数时与ROUND_DOWN一致, Decimal(-5.399).quantize(Decimal(0.00), ROUND_CEILING)) # -5.39 趋近于正无穷print(传入的是字符串负数时与ROUND_UP一致, Decimal(-5.399).quantize(Decimal(0.00), ROUND_FLOOR)) # -5.40 趋近于负无穷print(传入的是字符串与正负无关最后一位始终进, Decimal(-5.399).quantize(Decimal(0.00), ROUND_UP))def float_deal():z x y # 6.300000000000001print(z)if z 6.30:print(z计算正确)else:print(z计算错误)c a bprint(c)if c 3.5:print(c计算正确)else:print(c计算错误)e round(195.00 / 24,2)print(e)if e 8.13:print(e四舍五入正确)else:print(e四舍五入错误)def decimal_deal():getcontext().prec 3 # 设置精确值,只针对计算时无法除净时z Decimal(str(x)) Decimal(str(y))print(type(z),z)e Decimal(195.00) / Decimal(24)print(e)if __name__ __main__:float_info()decimal_info()#float_deal()#decimal_deal()
http://www.zqtcl.cn/news/156719/

相关文章:

  • 西安 美院 网站建设贵阳美丽乡村建设网站
  • 平顶山市哪里有做网站的wordpress应用教程
  • 制作企业网站的实训报告医院网站设计模板
  • 要做网站照片怎么处理广东外发加工网
  • 做国际网站每年要多少钱厦门 外贸商城网站
  • 城乡建设学校官方网站程序外包网站
  • 深圳 网站设计师 招聘西数网站管理助手 伪静态
  • 广州网站备案要求国外工装设计网站大全
  • php+mysql 2012也买酒商城网站源码怎么用net123做网站
  • 西充移动网站建设如何设计一个简洁的logo
  • 济宁做网站自媒体新手入门
  • 重庆网站开发哪家专业网站布局图
  • 网站设计原则的历史网站开发 模块
  • 做企业网站收费自己的网站怎么做排名
  • 做网站网站软件开发经费预算
  • 优化网站图片网站图片布局
  • 有效的网站需要做到什么意思商业网站是什么
  • 网站设计开发网站用c 建网站时怎么做导航菜单栏
  • 哪些网站做推广比较有效果厦门网站建设公司名单
  • 街头小吃加盟网站建设网站专题制作
  • 网站论坛推广方案加强思政部网站建设
  • 查看WordPress网站插件北京西站附近的景点有哪些
  • 网站建设技术合同模板下载怎么用phpstudy做网站
  • 青岛网站建设找二维码生成器怎么弄
  • 百度突然搜不到我的网站网络安全软件有哪些
  • 江阴做网站的地方网站维护需要的知识
  • 做网站是域名怎么申请网页设计跟做网站一样吗
  • 叮当快药网站谁做的网站开发遇到的最大困难
  • 一个域名可以建几个网站毕业设计可以做哪些简单网站
  • 知名商城网站建设报价wordpress 后台 logo