使用 BigDecimal 限制有效数字的任何巧妙方法

2023-12-29

我想对 Java 进行四舍五入BigDecimal到一定数量的有效数字(不是小数位),例如至 4 位数字:



12.3456 => 12.35
123.456 => 123.5
123456 => 123500
  

等等。基本问题是如何找到的数量级BigDecimal,这样我就可以决定小数点后使用多少位。

我能想到的只是一些可怕的循环,除以 10 直到结果

顺便说一句,这个数字可能非常大(或非常小),所以我无法将其转换为双精度以使用 Log 。


为什么不直接使用round(MathContext)?

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

使用 BigDecimal 限制有效数字的任何巧妙方法 的相关文章

  • Android:如何暂停和恢复可运行线程?

    我正在使用 postDelayed 可运行线程 当我按下按钮时 我需要暂停并恢复该线程 请任何人帮助我 这是我的主题 protected void animation music6 music4 postDelayed new Runnab
  • 在Windows Server 2003下如何在本地系统帐户下运行jvisualvm.exe?

    我在带有 Java 1 6 u 20 的 Windows Server 2003 下将 GlassFish 3 0 1 作为 Windows 服务运行 总体上我很满意 我希望能够在这个 JVM 上使用 VisualVM 并使用无法在 Tom
  • 如何在 Android 应用程序中隐藏 Flutterwave API 密钥

    我正在构建一个 Android 应用程序 目前正在将 Flutterwave 集成到我的应用程序中以进行支付 建议我永远不要将 Flutterwave API 密钥放在我的应用程序上 那么我该如何隐藏这些键呢 我正在使用 Retrofit
  • Java 中的 <-- 是什么? [复制]

    这个问题在这里已经有答案了 我遇到了下面的片段 它输出到4 3 2 1 我从来没有遇到过 lt 在爪哇 Is lt 使 var1 的值变为 var2 的运算符 public class Test public static void mai
  • 通过Zuul上传大文件

    我在通过 zuul 上传大文件时遇到问题 我正在使用 apache commons 文件上传 https commons apache org proper commons fileupload https commons apache o
  • Java中Gson、JsonElement、String比较

    好吧 我想知道这可能非常简单和愚蠢 但在与这种情况作斗争一段时间后 我不知道发生了什么 我正在使用 Gson 来处理一些 JSON 元素 在我的代码中的某个位置 我将 JsonObject 的 JsonElements 之一作为字符串获取
  • Java AES 256 加密

    我有下面的 java 代码来加密使用 64 个字符密钥的字符串 我的问题是这会是 AES 256 加密吗 String keyString C0BAE23DF8B51807B3E17D21925FADF273A70181E1D81B8EDE
  • 在光标所在行强制关闭!

    嘿 我正在尝试创建一个应用程序来查找存储在 SQlite 数据库中的 GPS 数据 但我面临一个问题 我构建了一个 DbAdapter 类来创建数据库 现在我尝试使用以下函数从另一个类获取所有数据上的光标 public Cursor fet
  • 在 Spring 中为 @Pathvariable 添加类级别验证

    在发布这个问题之前 我已经做了很多研究并尝试了很多可用的解决方案 这是我陷入的棘手情况 我有一个 Spring 控制器 它有多个请求映射 它们都有 PathVariables 控制器如下所示 Controller EnableWebMvc
  • Mockito 和 Hamcrest:如何验证 Collection 参数的调用?

    我遇到了 Mockito 和 Hamcrest 的泛型问题 请假设以下界面 public interface Service void perform Collection
  • 为什么在将 String 与 null 进行比较时会出现 NullPointerException?

    我的代码在以下行中出现空指针异常 if stringVariable equals null 在此语句之前 我声明了 stringVariable 并将其设置为数据库字段 在这个声明中 我试图检测该字段是否有null值 但不幸的是它坏了 有
  • 如何更改 Swagger-ui URL 前缀?

    我正在使用 Springfox Swagger2 和 Spring boot 1 5 9 我可以通过此链接访问 swagger UI http localhost 8090 swagger ui html http localhost 80
  • 如何使用双重调度来分析图形基元的交集?

    我正在分析图形基元 矩形 直线 圆形等 的交互并计算重叠 相对方向 合并等 这被引用为双重调度的一个主要示例 例如维基百科 http en wikipedia org wiki Double dispatch 自适应碰撞算法通常要求 不同的
  • 类更改(例如字段添加或删除)是否保持 Serialized 的向后兼容性?

    我有一个关于 Java 序列化的问题 在这种情况下 您可能需要修改可序列化类并保持向后兼容性 我有丰富的 C 经验 所以请允许我将 Java 与 NET 进行比较 在我的Java场景中 我需要使用Java的运行时序列化机制序列化一个对象 并
  • 从三点求圆心的算法是什么?

    我在圆的圆周上有三个点 pt A A x A y pt B B x B y pt C C x C y 如何计算圆心 在Processing Java 中实现它 我找到了答案并实施了一个可行的解决方案 pt circleCenter pt A
  • titledBorder 标题中的图标

    您好 是否可以在 titledBorder 的标题中放置一个图标 例如以下代码 import java awt GridLayout import javax swing JFrame import javax swing JLabel i
  • 用于请求带有临时缓存的远程 Observable 的 RxJava 模式

    用例是这样的 我想暂时缓存最新发出的昂贵的Observable响应 但在它过期后 返回到昂贵的源Observable并再次缓存它 等等 一个非常基本的网络缓存场景 但我真的很难让它工作 private Observable
  • Spring Data Rest 多对多 POST

    首先 让我解释一下我的用例 这非常简单 有一个用户实体和一个服务实体 我使用 UserService 作为连接实体 连接表 在用户和服务之间建立多对多关联最初 会有一些用户集和一些服务集 用户可以在任何时间点订阅任何服务 在这种情况下 将向
  • 使用 Apache 允许 Glassfish 和 PHP 在同一服务器中协同工作

    是否可以建立从 Java 到 php 文件的桥梁 我有一个用 Java 编写的应用程序 我需要执行http piwik org http piwik org 这是用 PHP 编写的 在服务器中 我正在运行 PHP 但无法从浏览器访问 php
  • 什么是 Java2D 处理程序线程?

    我创建了一个使用 Hibernate 的示例 java 应用程序 当我进行线程转储时 我观察到一个名为 Java2D Disposer 的奇怪线程 有人能告诉我该线程的功能吗 AWT 系统中的某些实体需要最终确定以释放资源 最突出的例子是j

随机推荐

  • 为什么 git 显示两个明显相同的添加文件之间存在冲突?

    我有一个在 TFS 中启动的项目 然后转移到 Git 不幸的是 将其移至 Git 的人只是签入了当前文件 而不是使用 git tfs 我正在尝试在使用 git tfs 从 TFS 提取的提交之上重新调整他在 Git 中的新提交 为此 我只需
  • 隐藏 UINavigationBar 时的自定义动画

    我正在制作一个应用程序 单击即可显示 隐藏 以自定义动画 UINavigationBar 我创建了两个函数 一个用于显示 另一个用于隐藏 显示 UINavigationBar 的功能完美运行 void showNavigationBar U
  • Php正则表达式查找字符串是否是mysql select语句

    我试图在执行查询之前验证它们 如果查询不是 mysql select 语句 那么我必须向用户显示消息 我从此链接找到了以下正则表达式 使用正则表达式验证简单的选择查询 https stackoverflow com questions 64
  • GADT - 应用和用处?

    我正在使用 learnyouahaskell 来介绍 GADT 并且我对它们可能的用途很感兴趣 据我了解 它们的主要特点是允许显式类型设置 Such as data Users a where GetUserName Int gt User
  • 使用闭包动作,除非你需要冒泡

    我不知道我的代码有什么问题 模板 组件 item hbs div class form group div class col sm offset 2 col sm 10 div div
  • 使用断言使 XCTestCase 失败,测试不会继续运行,但不会停止其他测试

    我正在尝试使用 XCTest 框架测试我的应用程序 如果某些逻辑条件成立 使用断言 我希望我的单个测试用例失败 我不希望测试用例中的其余代码运行 因为这可能会导致问题 例如 访问空指针 我还希望测试用例的其余部分正常运行 并且仅将失败的测试
  • Flutter 和 GetxController - 如何管理状态不可靠性?

    目前我的应用程序存在很多问题getFlutter 包 https pub dev packages get https pub dev packages get 以及以下状态场景 例如我有一个 GetxControllerUserContr
  • Gradle - 如何从不同的 gradle 项目运行测试并仍然获取覆盖率数据

    有谁知道如何从不同的 gradle 项目运行测试并仍然获得 emma 覆盖率报告数据 这是我当前的布局 Root settings gradle no explicit build gradle just defines all subpr
  • 使用 jQuery 延迟显示 ajax 加载 gif

    延迟 ajax loader gif 显示的最佳方法是什么 当我点击一个按钮时 即使花费的时间只有几百毫秒 加载器 gif 也会显示和隐藏 这会给浏览器带来一种闪烁 我想说的是 仅在完成 ajax 请求的时间超过 1000 毫秒时才显示 g
  • 为什么抽象类可以强制重写具体方法?

    我使用一个库 其中抽象类重写继承自的具体方法Object使用抽象方法 public abstract class A Override public abstract boolean equals Object obj 为了扩展这个类 我必
  • 使用 WSDL 的 ruby​​ 中的 SOAP 服务器

    我需要在 ruby 中实现一个 SOAP 服务器来进行一次调用 并提供 WSDL 我的计划是自己创建 WSDL 并在 Rails 服务器上提供它 并使用解析 xml 的端点 这是一条有效的路径吗 我查看了 但找不到关于生成 WSDL 的 r
  • 一行中进行多次搜索和替换

    如果我做类似的事情 s aaa bbb s 111 222 并且第一次搜索和替换没有找到任何匹配项 第二次搜索和替换将不会执行 有没有办法告诉 vim 即使命令 失败 也继续执行 Try s aaa bbb e s 111 222 e an
  • 在非主键关系上连接和查询 Django 模型?

    我有两个模型通过非主键的字段在逻辑上相关 是否可以查询它们 例如 select related 而不引入ForeignKey column 例如 考虑人为的模型 class LogEntry Model source name CharFi
  • 使用 iframe 下载文件在 Iphone/Ipad 中不起作用

    文件下载功能不适用于在 iPhone Ipad 适用于 Safari 和 Chrome 中使用 iframe 的 MVC Bootstrap Web 应用程序 在台式机 笔记本电脑和 Android 设备 适用于所有浏览器 中一切正常 单击
  • NoSQL:MongoDB 或 BigTable 并不总是“可用”意味着什么

    阅读内森 赫斯特的著作NoSQL 系统视觉指南 http blog nahurst com visual guide to nosql systems 他包括CAP三角形 C一致性 A可用性 P分区容差 随着 SQL Server 成为AC
  • observablelist何时产生更新变化事件?

    我在不同条件下尝试了不同的集合 但我能够收到的所有更改都是排列 添加 删除和替换更改 在什么情况下会出现更新变化 产生此类事件需要什么基类 什么存储类以及什么操作 要生成更新事件 您必须创建一个ObservableList与提取器 http
  • 通过回调绕过 hCaptcha?

    你好 我正在尝试使用 2captcha 绕过在一个名为 stake games 的网站中绕过 hCaptcha 但它似乎不起作用 我收到了绕过代码 但是当我在 grecaptcha response 和 hcaptcha response
  • 通过覆盖旧密码插入新密码

    在 yii 中我正在创建项目 验证用户输入的电子邮件后 我显示了password php 文件 该文件具有用于输入新密码的文本字段 密码 php
  • chrome:页面源和检查元素的区别?

    Chrome 15 中 查看页面源代码 中的 html 和检查元素有什么区别 看起来像2个不同的html 查看页面源页面向您显示服务器返回的确切文本 检查元素实际上向您显示了完全渲染的DOM tree https www w3schools
  • 使用 BigDecimal 限制有效数字的任何巧妙方法

    我想对 Java 进行四舍五入BigDecimal到一定数量的有效数字 不是小数位 例如至 4 位数字 12 3456 gt 12 35 123 456 gt 123 5 123456 gt 123500 等等 基本问题是如何找到的数量级B