项目场景:

实现保留3位有效数字(四舍六入五成双规则)


问题描述

  • 输入:输出:
  1. 1234 1234
  2. 12 12.0
  3. 4 4.00
  4. 0.2 0.200
  5. 0.32 0.320
  6. 1.3 1.30
  7. 1.235 1.24
  8. 1.245 1.24
  9. 1.2451 1.25

示例分析:


解决代码:

from decimal import Decimal
a = 1
while(a):
    n = input('请输入数字:')
    if ('.' in n):
        n = float(n)
        n1 = Decimal(str(n)) - Decimal(str(int(n)))
        if (len(str(n1)) == 5):
            n2 = int(n * 1000)
            l = len(str(n2))
            if (str(n2)[l-1] != '5' and n > 1):
                print(f'输出为{n:.2f}')
            elif (str(n2)[l-1] != '5' and n < 1):
                print(f'输出为{n:.3f}')
            else:
                if (int((n2/10)) % 2 == 0 and n > 1):
                    n = float(int(str(n2)[0:l-1])/100)
                    print(f'输出为{n:.2f}')
                elif (int((n2/10)) % 2 == 0 and n < 1):
                    print(f'输出为{n:.3f}') 
                else: 
                    n = float((n2 + 1)/1000)
                    if (n > 1):
                        print(f'输出为{n:.2f}')
                    else:
                        print(f'输出为{n:.3f}')
        elif ( n > 1):
            print(f'输出为{n:.2f}')
        else:
            print(f'输出为{n:.3f}')
    else:
        n = int(n)
        if (n > 99):
            print(f'输出为{n}')
        elif (n < 10):
            print(f'输出为{n:.2f}')
        else:
            print(f'输出为{n:.1f}')

python-实现保留3位有效数字(四舍六入五成双规则)相关推荐

  1. 保留三位有效数字,四舍六入五成双

    举例: 输入:1234 输出:1234 1234.3        1234 12         12.0 4         4.00 1.3        1.30 1.235          ...

  2. 实现保留3位有效数字(四舍六入五成双规则)

    目录 实现保留3位有效数字(四舍六入五成双规则) 1.程序简介 输出样例 2.程序代码 3.运行结果 实现保留3位有效数字(四舍六入五成双规则) 1.程序简介 输出样例 输入:输出: 1234 123 ...

  3. “四舍六入五成双规则” 与 C语言如何实现“四舍五入”

    1.四舍六入五成双规则 对于位数很多的近似数,当有效位数确定后,其后面多余的数字应该舍去,只保留有效数字最末一位,这种修约(舍入)规则是"四舍六入五成双",也即"4舍6入 ...

  4. java 四舍六入五成双_【数据小常识】“四舍六入五成双”

    "四舍六入五成双"规则如下: "四舍六入五成双",也即"4舍6入5凑偶",这里"四"是指≤4 时舍去,"六&q ...

  5. Java中四舍五入和四舍六入五成双

    Math.round()的取整规则结论:四舍五入下取整 例如 A: 11.2 ----> 11 B: 11.6 ----> 12 C: 11.5--->12 D: 11.51-> ...

  6. python中round函数的精度保留方法---四舍六入五成双

    当我们利用python进行数据计算时,通常会对浮点数保留相应的位数,这时候就会用到round函数,相信各位朋友在进行使用时会遇到各种问题,关于round函数保留精度.保留方法的问题,本文会进行详细的解 ...

  7. 四舍六入五成双并保留一位有效位-数据修约

    C# /// <summary>/// 数据修约 -- 四舍六入5成双,至少保留一位有效位/// 数值0.00512,保留2位,修约为0.01/// </summary>/// ...

  8. 【Python】银行家算法(四舍六入五成双)和使用decimal进行四舍五入处理

    在python3中,round(num,n)和'%.nf'%num都是使用银行家算法进行小数位的处理的,即四舍六入五成双.(python2不记得了) 四舍六入五成双介绍 和四舍五入不同的是,对于最大小 ...

  9. JAVA计算保留小数-四舍六入五成双

    四舍六入五成双 含义: 对于位数很多的近似数,当有效位数确定后,其后面多余的数字应该舍去,只保留有效数字最末一位,这种修约(舍入)规则是"四舍六入五成双",也即"4舍6入 ...

最新文章

  1. English Spoken Math
  2. 比较好的电脑系统_win10电脑系统选择什么版本比较好
  3. 关于hive中Map join 时大表left join小表的问题
  4. 【专栏】好Leader和差Leader的8个区别
  5. WCF - 服务实例管理模式
  6. EIGRP stub SIA
  7. python3.5文档
  8. 《MFC初探》之变量类型
  9. 面试官Diss我能力不如工作3年
  10. HTML5 device access 设备访问
  11. Win8 忘记密码 解决办法【在E450c实测有效】
  12. 数据包接收系列 — NAPI的原理和实现
  13. 如何修改安卓app图标和名称
  14. hikaricp mysql_HikariCP
  15. 【openGL2021版】链接FBX模型库
  16. 清理所有的java注册表_一些陈旧的注册表垃圾清理脚本:注册表冗余数据清理.reg...
  17. 【形式化学习笔记】1:Event-B相继式(Sequent)和推理规则(Inference Rule)
  18. 微信公众号开发本地环境搭建
  19. 三国皇帝的寡妇秘史(1)
  20. Hadoop 学习路线图

热门文章

  1. 开始我的WebWork之旅
  2. vuecli4关于Warning in ./src/plugins/element.js “export ‘default’ (imported as ‘Vue’) was not found in
  3. 计算机网络课外实验一级 20175319江野
  4. Android动态加载APK插件类
  5. jOOQ 代码生成工具的使用说明
  6. [FAQ11783][NW]MVNO忽略国内漫游(ignore national roaming)
  7. 3. Proxmox VE 配置 NTP
  8. 如何从零学习 React 技术栈
  9. 【TCP】Recv-Q和Send-Q 不要在有什么误解了
  10. 通过internet连接到股票信息服务器,一种股票机的制作方法