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

微网站后台内容设置张家港建设局门户网站

微网站后台内容设置,张家港建设局门户网站,中国建设劳动协会网站,南京定制网站哪个好文章目录 python round(num, n)小数四舍五入python round(num, n)基础银行家舍入#xff08;Bankers Rounding#xff09;利息被银行四舍五入后#xff0c;你到底是赚了还是亏了#xff1f; python小数位的使用decimal模块四舍五入(解决round 遇5不进) python round(num, n… 文章目录 python round(num, n)小数四舍五入python round(num, n)基础银行家舍入Bankers Rounding利息被银行四舍五入后你到底是赚了还是亏了 python小数位的使用decimal模块四舍五入(解决round 遇5不进) python round(num, n)小数四舍五入 python round(num, n)基础 round函数执行的是标准的四舍五入操作。 round( number [, ndigits] ) # number要四舍五入的数ndigits要小数点后保留的位数。ndigits为保留的小数位数不加ndigits则只保留x四舍五入后的整数部分。round函数的语法结构为ndigits为小数点后保留的位数、其中number为需要进行四舍五入的数字round(number,ndigits)。即进行整数舍入、则默认为0如果ndigits未指定。 然而对于某些特定的情况round函数可能会出现不符合预期的行为。 round(2.45, 1) 2.5round(2.675, 2) 2.67结果都应该是2.68的结果它偏偏是2.67为什么 原因分析 这跟浮点数的精度有关。我们知道在机器中浮点数不一定能精确表达因为换算成一串1和0后可能是无限位数的机器已经做出了截断处理。那么在机器中保存的2.675这个数字就比实际数字要小那么一点点。这一点点就导致了它离2.67要更近一点点所以保留两位小数时就近似到了2.67。 例如 round(3.1456, 2) 3.15round(3.1415, 2) 3.14当指定取舍的小数点位数的时候一般情况也是使用四舍五入的规则但是碰到.5的情况时如果要取舍的位数前的小数是奇数则直接舍弃如果是偶数则向上取舍。 from decimal import Decimalimport decimalfrom decimal import Decimalprint(Decimal(2.6750)) 2.67499999999999982236431605997495353221893310546875print(Decimal(2.675)) 2.67499999999999982236431605997495353221893310546875print(Decimal(2.6751)) 2.675100000000000033395508580724708735942840576171875用二进制转化的是有精度损失.部分小数无法完全用二进制表示round 本身没有问题而是二进制保存的值有点误差导致的。 银行家舍入Banker’s Rounding 银行家舍入法是由IEEE 754标准规定的浮点数取整算法 [1]大部分的编程软件都使用的是这种方法。 所谓银行家舍入法其实质是一种四舍六入五取偶又称四舍六入五留双法。 这不是bug而是一种常见的舍入法名称是“银行家式舍入法” 用意是一半舍一半入如果碰到0.5全入那么银行觉得自己亏了 银行希望和用户要风险对半。不光Python其他的计算机语言都是这个方法 这一方式的另一个常见名称为“银行家舍入”是IEEE754标准的推荐舍入标准。这一方式跟通常的四舍五入相比平均数方面更能保持原有数据的特性。 四舍六入五考虑五后非空就进一五后为空看奇偶五前为偶应舍去五前为奇要进一。 其实大多数编程语言在浮点数的运算上或者保留小数位上都是使用的银行家舍入法。 利息被银行四舍五入后你到底是赚了还是亏了 涨知识丨利息被银行四舍五入后你到底是赚了还是亏了 参考URL: https://m.thepaper.cn/baijiahao_8230554 大家在小学就会学四舍五入对吧四及以下被舍去五以及更大的数字则进1。 这个在平时做题的时候没有什么问题毕竟做错做对也不会来钱。那么问题来了银行交易的最小单位是分被小数点约掉的钱虽然不多但是如果按照我们小学的四舍五入你和银行到底谁亏谁赚呢 四舍五入其实有不利于银行而有利于储户。 真正广泛采用银行家舍入法的是需要更小误差的科学和计算机系统因此银行家舍入也常常叫做统计学家舍入statistician’s rounding无偏舍入unbiased rounding。 1940年开始美国材料和试验协会ASTM用的就是银行家舍入法。现在大部分编程软件的默认设置都是银行家舍入法比如C/C、JavaScript、PHP、Go英特尔处理器用的也是银行家舍入。 python小数位的使用decimal模块四舍五入(解决round 遇5不进) decimal模块 在做小数运算或者四舍五入时怎么避免数据不精确的问题呢这就要用到Decimal模块。 https://docs.python.org/zh-cn/3/library/decimal.html#rounding-modes import decimalfrom decimal import Decimala 1.345a_t Decimal(a).quantize(Decimal(0.00), roundingdecimal.ROUND_HALF_UP)print(a_t) 1.35四舍五入是基于十进制的在二进制无法精确表示的时候是会有误差的。 任何需要十进制运算的地方都需要用 decimal.Decimal 取代 float from _pydecimal import Decimal, Context, ROUND_HALF_UP print(Context(prec3, roundingROUND_HALF_UP).create_decimal(1.325))ROUND_HALF_UP 我们熟悉的四舍五入ROUND_HALF_EVEN 四舍六入五成双 我们抽象成正常的函数方便使用 import decimaldef normal_round(n, decimal_places):进行正常的四舍五入并指定保留的小数位数context decimal.getcontext()context.rounding decimal.ROUND_HALF_UProunded_value round(decimal.Decimal(n), decimal_places)return rounded_valueoverall_score 87.565 grade normal_round(overall_score, 2) print(grade)执行结果 round(87.565, 2) 87.56import decimaldef normal_round(n, decimal_places): ... 进行正常的四舍五入并指定保留的小数位数 ... context decimal.getcontext() ... context.rounding decimal.ROUND_HALF_UP ... rounded_value round(decimal.Decimal(n), decimal_places) ... return rounded_value ...overall_score 87.565grade normal_round(overall_score, 2)print(grade) 87.56注意normal_round函数返回的是decimal.Decimal类型的对象而不是浮点数。 数据库操作可能不支持decimal.Decimal类型的参数。对于这种情况你可以将normal_round函数返回的结果转换为浮点数或字符串以适应数据库操作的要求。 import decimaldef normal_round(n, decimal_places):进行正常的四舍五入并指定保留的小数位数context decimal.getcontext()context.rounding decimal.ROUND_HALF_UProunded_value round(decimal.Decimal(n), decimal_places)return float(rounded_value)在这个修改后的函数中我们使用 float 函数将 rounded_value 转换为浮点数类型。这样normal_round 函数将返回一个浮点数而不是 decimal.Decimal 对象。
http://www.pierceye.com/news/626675/

相关文章:

  • 做网站哪家比较好网站网页翻页设计
  • 湖州建设网站制作手机网站登录模板
  • 重庆网站制作技术wordpress获取特定尺寸特征图像
  • 展示型网站建设标准网络组建视频
  • 怎么用wordpress建手机网站网络管理网站策划书
  • 网站空间位置河南郑州百姓网
  • 云服务器可以用来做网站么网站建设短期培训
  • 做网站的费属于什么费用昆山智能网站开发
  • 西安网站制作南昌公司企业微信app下载安装官方版
  • 网站建设情况总结个人静态网页学生作业
  • 手机网站一键分享到微信asp.net ftp发布网站
  • 重庆网站制作公司妇联加强网站平台建设
  • php mysql网站开发全程实例.pdf网站的视频怎么下载
  • 海南医院网站建设软件工程公司排名
  • 微信公众号怎么分享wordpress网站优化搜索
  • 永定门网站建设佛山网红打卡景点大全排名榜
  • 网站建设模板推广重庆网络问政平台华龙网
  • 今科云平台网站建设技术中国电力建设股份部官方网站
  • 门户网站的三大基本特征vs2017做的网站如何发布
  • 怎么样自己做网站接订单网站建设和的注意事项
  • 月付商城网站建站男装商城网站建设
  • 建网站的步骤及方法php做的网站怎么运行
  • 英德市住房和城乡建设局手机网站html5手机网站模板下载
  • 网站建设手机建设网站 系统占用空间
  • 网站没内容网站域名.xin
  • 布吉建设网站网站是怎么制作出来的
  • 有赞网站开发凡科建站网
  • html5商业网站开发北大青鸟wordpress免费模版
  • 网站建设及那个科目提升网站页面打开速度
  • 直接玩的网页游戏关键词优化工具有哪些