我可能遗漏了一些重要的东西,但我无法找到一种方法来在Python(2.7)中将浮点/小数“适当”舍入,至少舍入到小数点后三位。我的意思是1.2225应该四舍五入到1.223,而1.2224应该四舍五入到1.222。在

我知道在Python中,round不适用于float,但我似乎无法使Decimal按预期运行,也无法使ceil函数正常工作。寻找内置的功能,而不是自定义功能的解决方案,但对两者都开放。在>>> x = 1.2225 # expected: 1.223

>>> round(x, 3)

1.222 # incorrect

>>> from math import ceil

>>> ceil(x * 1000.0) / 1000.0

1.223 # correct

>>> y = 1.2224 # expected: 1.222

>>> ceil(y * 1000.0) / 1000.0

1.223 # incorrect

>>> from decimal import Decimal, ROUND_UP, ROUND_HALF_UP

>>> x = Decimal(1.2225)

>>> x.quantize(Decimal('0.001'), ROUND_UP)

Decimal('1.223') # correct

>>> y = Decimal(1.2224)

>>> y.quantize(Decimal('0.001'), ROUND_UP)

Decimal('1.223') # incorrect

>>> y.quantize(Decimal('0.001'), ROUND_HALF_UP)

Decimal('1.222') # correct

>>> x.quantize(Decimal('0.001'), ROUND_HALF_UP)

Decimal('1.222') # incorrect

有没有办法得到想要的结果?在

python四舍五入保留小数点后三位_Python中的“正确”四舍五入到小数点后3位相关推荐

  1. python单引号双引号三引号_python中的单引号、双引号和三引号有何区别

    单引号和双引号 在Python中我们都知道单引号和双引号都可以用来表示一个字符串,比如str1 = 'python' str2 = "python" str1和str2是没有任何区 ...

  2. python进程间的通信方式三种_Python中的进程间通信

    一只甜甜圈 不,zeromq是要走的路.好吃,不是吗?import argparseimport zmqparser = argparse.ArgumentParser(description='ze ...

  3. python两位小数向上取整函数_python3中的函数如何实现小数向上取整

    python3中的函数如何实现小数向上取整 发布时间:2020-11-12 09:25:21 来源:亿速云 阅读:82 作者:小新 这篇文章将为大家详细讲解有关python3中的函数如何实现小数向上取 ...

  4. python新式类和经典类区别_Python中新式类和经典类的区别,钻石继承

    1)首先,写法不一样: class A: pass class B(object): 2)在多继承中,新式类采用广度优先搜索,而旧式类是采用深度优先搜索. 3)新式类更符合OOP编程思想,统一了pyt ...

  5. 用python将十进制数转换成二进制数_python中的数据结构-将十进制数转换为二进制数...

    二进制表示法在计算机科学中很重要,计算机中存储的所有值都以一串二进制数字,即0和1的形式存在. 如果无法在通用表示形式和二进制数字之间来回转换,我们将需要以非常奇怪的方式与计算机进行交互. 十进制的数 ...

  6. python用保留字while实现无限循环_Python中无限循环需要什么条件

    无限循环 如果条件判断语句永远为 true,循环将会无限的执行下去. 如下实例 #!/usr/bin/python # -*- coding: UTF-8 -*- var = 1 while var ...

  7. python布尔型变量错误的赋值_Python中布尔变量的值为( )

    [单选题]x 的 y 次方(xy) 以下表达式正确的是________ [多选题]以下关于 Python 字符串的描述中,正确的是( ) [多选题]下列表达式的值为False的是( ) [其它]返回 ...

  8. python 不安全的包或方法_Python中的10个常见安全漏洞及修复方法

    写安全的代码很困难,当你学习一门编程语言.一个模块或框架时,你会学习其使用方法.在考虑安全性时,你需要考虑如何避免代码被滥用,Python也不例外,即使在标准库中,也存在着许多糟糕的实例.然而,许多 ...

  9. python中保留两位小数的编写程序_Python中保留两位小数的几种方法

    保留两位小数,并做四舍五入处理 方法一: 使用字符串格式化 >>> a = 12.345 >>> print("%.2f" % a) 12.35 ...

最新文章

  1. CentOS系统安装配置JDK
  2. [转帖]爬过这 6 个坡,你就能对 Linux 操作系统了如指掌
  3. ie不支持getElementsByName的解决办法
  4. 基站基带fgpa 服务器芯片,基于FPGA的AIS基带数据处理芯片设计
  5. jasmine.spy对象的and.returnValue方法单步调试
  6. 『数据库』朴实无华的数据库绪论
  7. linux unshare 命令,详解Linux Namespace之User
  8. WCF Data Services服务端处理汇总
  9. Singularity将本地SIF文件,转成sandbox
  10. android之AlarmManager 全局定时器
  11. H3C OSPF 单区域、多区域(虚连接)配置
  12. UITableView局部刷新
  13. 极客大学架构师训练营 加密技术 高可用系统的度量 高可用系统的架构 高可用系统的运维 第22课 听课总结
  14. 使用Python控制手机
  15. 软考信息安全工程师知识总结
  16. mp4 joiner linux,MP4Joiner怎么用?使用MP4Joiner快速合并多个mp4视频文件的方法介绍
  17. docker/kubernetes学习笔记(持续更新)
  18. 在css中怎么做橡皮擦,js 实现橡皮擦 擦图效果(可用于刮刮卡)
  19. 反函数的导数——arcsinx的导数求导证明
  20. leaflet基本使用

热门文章

  1. 【数据采集】将16进制字符串转化为Double类型输出(依照IEEE754标准)
  2. JavaScript MSN 弹出消息框
  3. 用visio反向工程画oracle数据库表的结构图
  4. 领域模型中的各种角色
  5. 并发服务器设计思路,参考apache学习UDP和QoS,研究成果
  6. AJAX Control Toolkit 控件学习(转自csdn山巅)
  7. linux的基础知识——网络字节序转化,ip地址转换函数,sockaddr数据结构
  8. eclipse中下载spring-tool-suite插件遇到的问题
  9. 和移动对接短信http协议和cmpp协议那个好_python网络爬虫之HTTP原理,爬虫的基本原理,Cookies和代理介绍...
  10. 利用Excel进行成对(配对)T检验