如何在Python中对小数进行四舍五入

 2024-02-08 05:00:48  阅读 0

本文介绍了四种小数四舍五入的方法:向上舍入、向下舍入、向下舍入和四舍五入到零。 每个方法都配有代码,方便我们根据不同的需求使用。 选择不同的方法来使用。

1. 四舍五入

(一)含义

顾名思义,无论输入是正数还是负数,它总是会找到大于或等于我输入的数的最小整数

(2) 舍入声明

import math
 
math.ceil(-0.5)

(3) 舍入效果

python if 判断整数_整数判断函数_整数判断c语言

2. 四舍五入

(一)含义

注意一个令人困惑的点。 “四舍五入”中的“四舍五入”是指向绝对值较大的方向进位,而不是数值较大的方向; “四舍五入”是指向绝对值较小的方向进位。

(2) 舍入声明:

round(-2.5)

(3) 舍入效果

整数判断函数_python if 判断整数_整数判断c语言

注意! ! ! round() 舍入可以说是规则最复杂的舍入方法。

观察上图,我们可以看出round()舍入有两种情况:

小数部分大于0.5和小于0.5的数字在运算时完全符合“四舍五入”规则。 小数部分恰好等于0.5的数比较特殊:如果整数部分是偶数,则采用“四舍五入”操作向绝对值较小的方向移动; 如果整数部分是奇数,则使用“舍入”操作向绝对值移动。 朝着大方向走。

我个人猜测,处理“小数部分正好等于0.5的数”的目的是通过奇偶分布,让一半的0.5“圆”,一半的0.5“中”,这样会更均匀。

如果所有 0.5 都为“in”,这对于连续变量来说是合理的。 然而,在我们的日常生活中,很多时候变量都是离散的,0.5出现的概率是非常高的。 如果0.5全部采用“in”规则,误差会比较大。

3. 向下舍入

(一)含义

顾名思义,无论输入是正数还是负数,它总是会找到小于或等于我输入的数的最大整数。

(2) 舍入声明:

import math 
math.floor(-0.3)

(3) 舍入效果

整数判断函数_整数判断c语言_python if 判断整数

4. 四舍五入到零

(一)含义

顾名思义,无论输入是正数还是负数,总是找到满足这两个条件的数:

小于我输入的数字的绝对值; 尽可能地最大化这个数的绝对值。

(2) 舍入声明:

int(-0.9)

(3) 舍入效果

python if 判断整数_整数判断c语言_整数判断函数

5.用于展示舍入效果的代码

上面四个屏幕截图的舍入结果是由以下代码生成的。

import pandas as pd
import numpy as np
import math
def rounding(type_r, number):
    all_types = {'math.ceil':math.ceil,
                 'round':round,
                 'math.floor':math.floor,
                 'int':int}
    return all_types[type_r](number)
def batch_rounding (type_r):
    temp = []
    for i in np.arange(-6,8,3):
        if i >=0:
            a = i+0.4
            b = i+0.5
            c = i+0.7
        else:
            a = i-0.4
            b = i-0.5
            c = i-0.7
        temp.append({i:((a, rounding(type_r,a)), (b, rounding(type_r,b)), (c, rounding(type_r,c)))})
    return tuple(temp)
def final_show(type_r):
    outcome = batch_rounding(type_r)
    outcome2 = pd.DataFrame(columns=['原1, 新1','原2, 新2','原3, 新3'])
    for item in range(len(outcome)):
        outcome2 = outcome2.append(pd.DataFrame(outcome[item], index = ['原1, 新1','原2, 新2','原3, 新3']).T)
    outcome2.index.name = '整数部分'
    return outcome2
final_show('math.ceil')
final_show('round')
final_show('math.floor')
final_show('int')

标签: 取整 效果 整数

如本站内容信息有侵犯到您的权益请联系我们删除,谢谢!!


Copyright © 2020 All Rights Reserved 京ICP5741267-1号 统计代码