返回顶部
首页 > 资讯 > 后端开发 > Python >python小数的进位与舍去
  • 865
分享到

python小数的进位与舍去

小数舍去python 2023-01-31 00:01:02 865人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

一.基础知识准备 ​ 奇进偶舍,又称为四舍六入五成双规则、银行进位法(Banker's Rounding),是一种计数保留法,是一种数值修约规则。从统计学的角度,“奇进偶舍”比“四舍五入”更为精确:在大量运算时,因为舍入后的结果有的变大

一.基础知识准备

奇进偶舍,又称为四舍六入五成双规则、银行进位法(Banker's Rounding),是一种计数保留法,是一种数值修约规则。从统计学的角度,“奇进偶舍”比“四舍五入”更为精确:在大量运算时,因为舍入后的结果有的变大,有的变小,更使舍入后的结果误差均值趋于零。而不是像四舍五入那样逢五就进位,导致结果偏向大数,使得误差产生积累进而产生系统误差。“奇进偶舍”使测量结果受到舍入误差的影响降到最低。

数值修约(rounding off for values)——在进行具体的数字运算前,通过省略原数值的最后若干位数字,调整保留的末位数字,使最后所得到的值最接近原数值的过程。
Infinity 无穷

NaN(Not a Number,非数)是计算机科学中数值数据类型的一类值,表示未定义或不可表示的值。常在浮点数运算中使用。首次引入NaN的是1985年的IEEE 754浮点数标准。在浮点数运算中,NaN与无穷大的概念不同,尽管两者均是以浮点数表示实数时的特殊值。无效操作(Invalid Operation)同样也不同于算术溢出(可能返回无穷大)和算术下溢出(可能返回最小的一般数值、特殊数值、零等)。IEEE 754-1985中,用指数部分全为1、小数部分非零表示NaN。以32位IEEE单精度浮点数的NaN为例,按位表示即:S111 1111 1AXX XXXX XXXX XXXX XXXX XXXX,S为符号位,符号位S的取值无关紧要



python中进行精确的数值运算时,一般采用decimal模块对小数进行运算,其中用到了,十进制数decimal number, context算数上下文参数, signals信号信息

我们发现,使用round()取整小数时,并不是想要的四舍五入,原因就在于取整规则是采用了奇进偶舍(四舍六入)的方式,简单来说就是,整数部分为奇数,四舍五入.如果是偶数,就采用五舍六入的方式,而这个规则,就属于数值修约的规则

二.quantize

quantize`(*exp* [,*rounding* [,*context* [,*watchexp* ] ] ] )

舍入后返回一个等于第一个操作数的值,并具有第二个操作数的指数。

>>> Decimal('1.41421356').quantize(Decimal('1.000'))
Decimal('1.414')


三.实现四舍五入

舍入后返回一个等于第一个操作数的值,并具有第二个操作数的指数。这个exp的指数就是左边数的指数,exponent

# 实现四舍五入的方法
>>> from decimal import Decimal, ROUND_HALF_UP
>>> Decimal('0.375').quantize(Decimal('0.00'), rounding=ROUND_HALF_UP)
Decimal('0.38')
>>> Decimal('0.125').quantize(Decimal('0.00'), rounding=ROUND_HALF_UP)
Decimal('0.13')

--结束END--

本文标题: python小数的进位与舍去

本文链接: https://lsjlt.com/news/181642.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • python小数的进位与舍去
    一.基础知识准备 ​ 奇进偶舍,又称为四舍六入五成双规则、银行进位法(Banker's Rounding),是一种计数保留法,是一种数值修约规则。从统计学的角度,“奇进偶舍”比“四舍五入”更为精确:在大量运算时,因为舍入后的结果有的变大...
    99+
    2023-01-31
    小数 舍去 python
  • JavaScript如何格式化数字、金额、千分位、保留几位小数、舍入舍去
    小编给大家分享一下JavaScript如何格式化数字、金额、千分位、保留几位小数、舍入舍去,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解...
    99+
    2024-04-02
  • Golang小数操作指南之判断小数点位数与四舍五入
    目录一、判断几位小数点1.判断几位小数点二、四舍五入1.fmt.Sprintf2.math.Round(result*pow)总结一、判断几位小数点 1.判断几位小数点 加载 cas...
    99+
    2024-04-02
  • sql四舍五入怎么保留两位小数
    在SQL中,可以使用ROUND函数来进行四舍五入,并且可以通过指定第二个参数来控制保留的小数位数。例如,要将一个数值字段round到...
    99+
    2023-05-31
    sql四舍五入 sql
  • php如何不四舍五入的保留一位小数
    本文小编为大家详细介绍“php如何不四舍五入的保留一位小数”,内容详细,步骤清晰,细节处理妥当,希望这篇“php如何不四舍五入的保留一位小数”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。方法:1、利用“*”运算符...
    99+
    2023-06-30
  • PHP保留两位小数并且四舍五入及不四舍五入的方法
    php保留两位小数并且四舍五入 复制代码 代码如下: $num = 123213.666666; echo sprintf("%.2f", $num); php保留两位小数并且不四...
    99+
    2022-11-15
    保留两位小数 四舍五入
  • java保留小数点后面两位(四舍五入)
    java保留小数点后面两位(四舍五入)学习记录 三个方法: 使用String.format("%.2f",num);     //num是要处理的数据 这种方法可以用float,double接收数据类型,我试了一下String接收好像会报错...
    99+
    2023-09-14
    java 开发语言
  • SQL Server 数值四舍五入,小数点后保留2位
    在 SQL Server 中,可以使用 ROUND 函数来进行数值的四舍五入。此函数的语法如下:```sqlROUND(numeri...
    99+
    2023-09-02
    SQL Server
  • Java DecimalFormat 保留小数位及四舍五入的陷阱介绍
    目录需求代码实现发现问题RoundingMode.HALF_EVEN错误的代码测试RoundingMode.HALF_EVEN正确的代码测试RoundingMode.HALF_EVE...
    99+
    2024-04-02
  • php四舍五入保留两位小数的方法是什么
    可以使用PHP内置函数round()来进行四舍五入保留两位小数。例如:$number = 3.1415926;$rounded = ...
    99+
    2023-06-06
    php四舍五入 php
  • oracle四舍五入保留两位小数的方法是什么
    在Oracle中,可以使用ROUND函数来实现四舍五入并保留两位小数的功能。使用方法如下:```ROUND(number, 2)``...
    99+
    2023-09-04
    oracle
  • sql四舍五入保留两位小数的方法是什么
    在SQL中,可以使用函数来保留小数位数,常用的函数有ROUND、TRUNCATE和FORMAT等。以下是使用ROUND函数保留两位小...
    99+
    2023-05-14
    sql四舍五入 sql
  • MySQL对小数进行四舍五入的操作实现
    目录函数说明使用数学函数是mysql中常用的一类函数。其主要用于处理数字,包括整型和浮点数等等。 MySQL常用的四舍五入函数: 函数说明 FLOOR(X) 返回不大于X的最大整数。CEIL(X)、CEILING(X) ...
    99+
    2023-08-24
    MySQL 小数四舍五入 MySQL 四舍五入
  • Java怎么将数字四舍五入到小数点后n位
    在Java中,可以使用`BigDecimal`类来进行四舍五入操作。以下是一个将数字四舍五入到小数点后n位的示例代码:```java...
    99+
    2023-08-19
    Java
  • php如何去除两位小数后的值
    本篇内容介绍了“php如何去除两位小数后的值”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!4种方法:1、用“round(浮点数,2)”语句,...
    99+
    2023-06-30
  • php如何去掉多余的小数0位
    这篇“php如何去掉多余的小数0位”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php如何去掉多余的小数0位”文章吧。PHP...
    99+
    2023-07-05
  • JavaScript如何四舍五入一个数字并保留N位小数
    小编给大家分享一下JavaScript如何四舍五入一个数字并保留N位小数,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!四舍五入一个数字,保留N位小数var num =2...
    99+
    2024-04-02
  • php怎么去掉小数点后两位数
    PHP是一门开源语言,广泛应用于Web开发领域。在Web开发中,经常需要对数据进行处理和格式化,特别是对数字进行处理,例如去掉小数点后两位数。如何在PHP中实现该功能呢?本文就为大家详细介绍。一、使用number_format()函数num...
    99+
    2023-05-14
    php
  • php如何去掉小数点后两位数
    这篇“php如何去掉小数点后两位数”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“php如何去掉小数点后两位数”文章吧。一、使...
    99+
    2023-07-05
  • javascript如何去掉小数点后两位
    这篇文章主要为大家展示了“javascript如何去掉小数点后两位”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“javascript如何去掉小数点后两位”这篇文...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作