# 定义函数修约小数位数,按四舍六入五成双的原则
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, '保留',y,'位小数为:', 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,'保留',y,'位小数为:',Result %ABS_Result)else:print(x,'保留',y,'位小数为:',Result %-ABS_Result)#调用函数
Little(-10,1)      # 输出 -10.0
Little(-10.05,1)   # 输出 -10.0
Little(-0.550,1)   # 输出 -0.6
Little(-0.451,1)   # 输出 -0.5
Little(-0.450,1)   # 输出 -0.4
Little(-0.350,1)   # 输出 -0.4

小数位数修约,四舍六入五成双相关推荐

  1. 有效数字修约,按四舍六入五成双原则

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  9. “银行家算法”讲解,在前端表格中利用自定义公式实现“四舍六入五成双”

    银行的盈利模式是什么?三个字:信息差!从储户手中收拢资金,然后放贷出去,而所谓的"利润"就是这其中的利息差额. 在我国,人民银行规定每个季度月末的20号为银行结息日,每一年四次结息 ...

最新文章

  1. 计算机基础操作与应用实训教程,计算机应用基础实训教程の第 3 章 Word 2003 基本操作.pdf...
  2. 【Linux系统编程】进程概述和进程号
  3. 离散数学关系的性质_关系和关系的性质| 离散数学
  4. oracle数据库sql的执行过程,Oracle体系结构之SQL语句的执行过程
  5. 【Python】Python简介和Python解释器
  6. Android音频系统扫盲
  7. 利用grep和awk来分析nginx日志
  8. 比继承更有弹性的装饰者模式
  9. 腾讯通信云服务端使用心得,腾讯云IM
  10. 思迈特软件完成C轮融资,让BI真正实现“普惠化”
  11. 本地连接不通的情况下连接vmbox
  12. 吴恩达深度学习视频笔记(持续更新)
  13. ACwing 基础知识
  14. 2011年统计用区划代码和城乡划分代码
  15. English学习网站
  16. 金龙鱼半年报:增收不增利,控本依旧是头等大事
  17. 物联网恶意软件“Mirai”源代码被黑客公开 绿盟科技分析报告开放下载
  18. 视频技术系列 - 谈谈毫米波之二,应用篇
  19. 画出计算机硬件结构框图,计算机组成原理点题集1.doc
  20. 手游是越来越牛逼了--混沌与秩序Online

热门文章

  1. RAID(独立磁盘冗余阵列)
  2. 印象笔记(evernote)支持MarkDown语法
  3. 12-Gateway新一代网关
  4. 【小睿精选·第四期】谷歌开源更快、更高效的 TensorFlow 运行时 TFRT
  5. 《打开U盘发现全部文件变成快捷方式了》
  6. Win7,CentOS 6.4双系统 硬盘安装
  7. 【教程搬运】读懂github上的工程代码——带你熟悉Python中的Parser
  8. 上海交通大学2005年数学分析考研试题
  9. 微信公众号python开发_用python如何开发微信公共帐号?
  10. 【NodeJs-5天学习】第四天存储篇① ——安装使用mysql 8.0