# 定义函数修约小数位数,按四舍六入五成双的原则
def Little (x,y):                       # x是要修约的数,y是要保留的小数位数。ABS_x = abs(x)                      # 取x的绝对值str_x = str(ABS_x)                  # 字符串x的绝对值len_x = len(str_x)                  # 计算x字符串的长度Point_x = str_x.find('.')             # 寻找x字符串中的小数点if Point_x == -1:                     # 如果要修约的数是整数,格式化输出,自动补零Result = '%' + '.' + str(y) + 'f'print(x, '修约有效数字为:', Result % x)else:                                      # 如果要修约的数是浮点数Index_point = str_x.index('.')         # 找到小数点所在的引索位置x1 = int(ABS_x * 10 ** y)              # 整数化输出x绝对值*10的y次方bb = len_x - (Index_point+1) - (y+1)# 用于判断x的小数位数是否与需要保留的小数位数一致,避免二进制计算问题# 如:print(10.05*100-int(10.05*10)*10)   输出结果为: 5.000000000000114,而不是 5if bb == 0:x2 = int(ABS_x*10**(y+1)) - x1*10else:x2 = ABS_x*10**(y+1) - x1*10         # 提取需要修约的数字,判断四舍六入五成双if x2 < 5:Num = x1if x2 > 5:Num = x1 + 1if x2 == 5:if x1 % 2 == 0:Num = x1else:Num = x1 + 1ABS_Result = Num/10**yResult ='%'+'.'+str(y)+'f'   #格式化输出自动补零if x>=0:print(x, '修约有效数字为:', Result % ABS_Result)else:print(x, '修约有效数字为:', Result % -ABS_Result)# 定义函数,修约数值的有效数字
def Significant (w,v):# w是要修约的数字,v是需要保留的有效数字个数abs_w = abs(w)str_w = str(abs_w)len_w = len(str_w)                    # 计算x字符串的长度Point_w = str_w.find('.')             # 寻找x字符串中的小数点if Point_w == -1:                     # 如果要修约的数是整数,格式化输出,自动补零Result = '%' + '.' + str(v-len_w) + 'f'print(w, '修约有效数字为:', Result % w)else:if abs_w >= 1:                      # 如果要修约的数是大于1的浮点数index_point = str_w.index('.')  # 确定小数点所在位置v = v - index_point             # 确定要取的小数位数Little(w,v)                     # 按四舍六入五成双的原则修约if abs_w < 1:                       # 如果要修约的数是小于1的浮点数,判断小数点后面有多少个零len_w = len(str_w)n = len_w - 2                   # 计算要修约的数字的小数位数w1 = int(abs_w*10**n)           # 把小数变整数len_w1 = len(str(w1))           # 计算不为零的数的长度v = v + (n - len_w1)            # 反推前面有多少个零,然后确定实际要取的小数位数Little(w,v)Significant(-10,3)         # 输出  -10.0
Significant(-10.05,3)      # 输出  -10.0
Significant(-0.550,1)      # 输出  -0.6
Significant(0.0055,1)      # 输出  0.006

有效数字修约,按四舍六入五成双原则相关推荐

  1. 小数位数修约,四舍六入五成双

    # 定义函数修约小数位数,按四舍六入五成双的原则 def Little (x,y): # x是要修约的数,y是要保留的小数位数.ABS_x = abs(x) # 取x的绝对值str_x = str(A ...

  2. excel数据修约(四舍六入五成双)

    1.什么是四舍六入五成双 这里"四"是指≤4 时舍去,"六"是指≥6时进上,"五"指的是根据5后面的数字来定,当5后有非0数时,舍5入1:当 ...

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

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

  4. java 四舍六入五成双_EXCEL实现四舍六入五成双修约规则的方法

    中国药典的修约原则是四舍六入五成双(只是中国药典这样,USP.EP都是四舍五入).四舍六入五成双的修约原则为: 1. 被修约的数字小于5时,该数字舍去: 2. 被修约的数字大于5时,则进位: 3. 被 ...

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

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

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

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

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

    项目场景: 实现保留3位有效数字(四舍六入五成双规则) 问题描述 输入:输出: 1234 1234 12 12.0 4 4.00 0.2 0.200 0.32 0.320 1.3 1.30 1.235 ...

  8. sqlserver varchar 对于 sum 运算符无效_在sqlserver上实现自定义函数四舍六入五成双...

    做过统计都知道关于保留几位小数有好几种方法,其中4舍6入5凑偶用的比较多,所以我就是sqlserver里面实现了一个自定义函数 定义 对于位数很多的近似数,当位数确定后,其后面多余的数字应该舍去,只保 ...

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

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

最新文章

  1. windows10安装docker
  2. 前沿速递:Maven中央仓库新增依赖漏洞提醒功能
  3. css3之border-image
  4. Angular里的消息(Message)显示
  5. 缠绕多年的PCIE通道数问题终于完全明白了,欢迎指正
  6. EF批量插入太慢?那是你的姿势不对
  7. Preparing Cities for Robot Cars【城市准备迎接自动驾驶汽车】
  8. arp 命令详解(安装、arp欺骗防御)
  9. postgresql与mysql语法区别
  10. linux运维工作内容及岗位要求
  11. linux按照目录大小降序排列,Linux du命令查看文件夹大小并按降序排列
  12. A3Mall 电商平台——测试计划评审
  13. 【unity】暂停,继续游戏,重新开始,退出
  14. 计算机三号字在哪个页面,Word用楷体三号一页大约多少字?
  15. 半导体芯片为什么一定要用硅?
  16. echarts的基本使用及其插件下载
  17. iTop-4412_开发板Linux编程之TFTP服务器学习笔记
  18. Web 3.0 中常见的网络钓鱼攻击
  19. 红米note4x线刷miui9国际版开发版
  20. 单片机io口定义C语言,怎样把单片机的8个不同管脚定义成同一个IO口??

热门文章

  1. 某侦察队接到一项紧急任务,要求在A、B、C、D、E、F六个队员中尽可能多地挑若干人,但有以下限制条件: 1)A和B两人中至少去一人; 2)A和D不能一起去; 3)A、E和F三人中要派两人去; 4)B和
  2. 超赞!世界10个著名悖论的最终解答来了!
  3. 如何实现算法中的公平性
  4. 树莓派4+lede+移远5G模组RM500Q
  5. android购票日历,2017春运购票日历
  6. 解线性方程组迭代法之Guass-Seidel迭代法及其算法实现
  7. 微信搜索引擎中索引的分布式演进
  8. java 可重复map_map的键值可以重复吗
  9. nginx平台初探(100%)
  10. 微信公众号实现“一键关注”功能