如何在Python中将数字四舍五入为有效数字

2024-01-09

我需要对要在用户界面中显示的浮动进行舍入。例如,一位有效数字:

1234 -> 1000

0.12 -> 0.1

0.012 -> 0.01

0.062 -> 0.06

6253 -> 6000

1999 -> 2000

有没有一种使用 Python 库来做到这一点的好方法,或者我必须自己编写它?


您可以使用负数对整数进行舍入:

>>> round(1234, -3)
1000.0

因此,如果您只需要最高有效数字:

>>> from math import log10, floor
>>> def round_to_1(x):
...   return round(x, -int(floor(log10(abs(x)))))
... 
>>> round_to_1(0.0232)
0.02
>>> round_to_1(1234243)
1000000.0
>>> round_to_1(13)
10.0
>>> round_to_1(4)
4.0
>>> round_to_1(19)
20.0

如果浮点数大于 1,您可能需要注意将浮点数转换为整数。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在Python中将数字四舍五入为有效数字 的相关文章

随机推荐

  • 在 Tomcat 上配置 PHP 会出现异常:UnsatisfiedLinkError

    我一直在尝试在 Tomcat 上使用 PHP 不要问为什么 我只是必须这样做 并且一直遵循使用 Tomcat 配置 PHP http toostep com trends configure php with tomcat以及一些使用 PE
  • 使用神经网络功能时出现错误

    我在可用的波士顿数据集上尝试了 R 中的神经网络 data Boston package MASS data lt Boston 只保留我们想要使用的变量 keeps lt c crim indus nox rm age dis tax p
  • Mongodb pymongo.errors.ServerSelectionTimeoutError:localhost:27017:[Errno 111]连接被拒绝,超时:30秒,

    我正在尝试本地连接到我的数据库 我已经在 MongoDB Compass 上建立了与数据库的连接 但是当我运行简单的代码时 出现以下错误 pymongo errors ServerSelectionTimeoutError localhos
  • macOS swift - 将数据保存到本地存储 - 最佳实践

    我是 macOS 开发的新手 我有一个应用程序 我需要将字符串 例如令牌 保存到某些本地存储 在关闭并打开应用程序后 我想检索该字符串 是否有可能只有我的应用程序才能检索该字符串 是不是最好写到txt文件或还有其他一些可能性 谢谢 这取决于
  • 如何从面板中加载的子用户控件访问父类功能/控件

    我有一个主窗体 其中包含一个面板 该面板将不同的用户控件加载到面板中 现在我需要从用户控件访问主窗体中的功能 下面我给出了我的代码 这是我的主要 Windows 窗体类 public partial class Form1 Form pub
  • 如何在 iPhone 中更改方向时更改视图控制器的视图?

    我正在开发一个支持 2 个方向的 iPhone 应用程序 我有这个视图控制器的 2 个 UIView 文件 我需要根据设备界面方向将相应的 UIView 文件设置到视图控制器 你能指导我如何改变方向吗 为什么要对两个方向使用两个视图 如果纵
  • 每次使用 pip 3 时如何解决“错误:外部管理环境”?

    错误信息 error externally managed environment This environment is externally managed gt To install Python packages system wi
  • 将自定义列添加到 Woocommerce 3+ 中的“我的帐户订单”表

    Woocommerce 3 5 x 在用户帐户 我的帐户 区域有一个特殊页面 其中显示用户以前的订单 此页面现在默认显示 5 列 这是 woocommerce 订单区域的屏幕截图 共有 5 列 我的订单 https i stack imgu
  • 如何在 R 中为蒙特卡洛创建更高效​​的模拟循环

    此练习的目的是创建营养摄入值的人群分布 早期数据中有重复的测量值 这些测量值已被删除 因此每一行都是数据框中唯一的人 我有这段代码 在使用少量数据框行进行测试时效果非常好 对于所有 7135 行 速度非常慢 我试图给它计时 但当我的机器上的
  • 条目压缩大小无效

    我使用称为 ASM 的字节码库来更改类文件 然后我想将每个类文件写回 jar 文件而不是填充类文件的文件夹中 我通过运行以下代码来做到这一点 当因未达到预期大小而引发 ZipException 时 即出现我的问题 java util zip
  • jQuery Datepicker 中的“今天”按钮不起作用

    我正在使用 jQueryUI Datepicker 并显示 今天 按钮 但这不起作用 它在演示中也不起作用 http www jqueryui com demos datepicker buttonbar http www jqueryui
  • Python pandas 与 OR 逻辑合并

    我正在搜索 但没有找到这个问题的答案 你可以使用 OR 逻辑执行 pandas 数据帧的合并吗 基本上 相当于使用 where t1 A t2 A OR t1 A t2 B 的 SQL 合并 我遇到一种情况 我将信息从一个数据库提取到数据帧
  • ORACLE SQL LISTAGG 未返回预期结果

    我正在运行 Oracle Database 11g Enterprise 11 2 0 4 0 PL SQL Release 11 2 0 4 0 并且在获取 LISTAGG 函数返回我期望的数据集时遇到一些问题 这是场景 我有一个看起来像
  • 将WAR部署到WebSphere 9需要3个小时

    过去将 WAR 部署到 WebSphere 8 5 5 0 需要 3 分钟 将相同的 WAR 部署到 WebSphere 9 0 0 2 需要 3 个小时 这是 WebSphere 9 0 0 2 中错误的表现吗 有人有类似的经历吗 更新
  • iphone界面发光效果问题

    我想在这个名为 convert 的应用程序中实现我认为是 UILabels 或者可能是自定义控件 的发光效果 我认为该应用程序看起来非常简洁 我正在尝试为我自己的应用程序实现类似的效果 有什么帮助吗 此致 david 替代文本 http w
  • 如何为 Excel 创建 GUI 插件?

    我在 Google 上进行了一些研究 但仍然找不到 Visual Studio 中的项目 我想为 Excel 创建一个 GUI 插件 例如带有 Windows 窗体的功能区上的停靠窗口 这是 Visual Studio 中的什么项目 我已经
  • 将控件添加到 Office 中的现有功能区组 (VSTO)

    我找到了很多关于如何向现有功能区添加新组的示例 这效果很好 我不知道如何将新控件添加到现有功能区上的现有组中 假设我想将自己的命令添加到 审阅 选项卡上的 校对 组中 我正在 VS2010 中为 Office2010 开发此程序 但我想同样
  • Spring Boot中增加Tomcat的连接超时

    如何增加超时 以便在处理响应之前 请求不会超时 Spring Boot 中的 Tomcat 设置 server tomcat max connections 2000 server tomcat max threads 200 server
  • 一个 CIImage 中有多个 CIFilter?

    我有两个 CIFilter 曝光和色调 我需要将过滤器组合到一个 UIImage 上 我该怎么办 下面是我到目前为止所拥有的一些代码 CIFilter hueFilter CIFilter exposureFilter CIImage ad
  • 如何在Python中将数字四舍五入为有效数字

    我需要对要在用户界面中显示的浮动进行舍入 例如 一位有效数字 1234 gt 1000 0 12 gt 0 1 0 012 gt 0 01 0 062 gt 0 06 6253 gt 6000 1999 gt 2000 有没有一种使用 Py