在 Java 中应该使用什么舍入方法来计算金钱?

2024-01-14

假设我在 Java 中有一个代表金钱的十进制值。

舍入这些值的最佳方法是什么?

例如,如果我有一个根据税率计算的值,那么我最终会得到以下结果:5.3999999999999995作为税额,我是否应该将其四舍五入到小数点后两位:

double d = 5.3999999999999995
BigDecimal bd = new BigDecimal(d).setScale(2, RoundingMode.HALF_EVEN);
d = bd.doubleValue();

产生货币价值:

5.40

大多数计算金钱的应用程序不使用浮点(double, float);他们使用代表较小单位的整数。例如,以美元为例,货币可以表示为pennies即 1/100 美元。

为了获得更高的准确性,您可能需要一个代表 1E-03(“毫美元”)或 1E-06 的整数。这取决于利息计算和您的精确度等问题。

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

在 Java 中应该使用什么舍入方法来计算金钱? 的相关文章

  • Java - 因内存不足错误而关闭

    关于如何最好地处理这个问题 我听到了非常矛盾的事情 并且陷入了以下困境 OOME 会导致一个线程崩溃 但不会导致整个应用程序崩溃 我需要关闭整个应用程序 但不能 因为线程没有剩余内存 我一直认为最佳实践是让它们离开 这样 JVM 就会死掉
  • Guice 忽略注入构造函数参数上的 @Nullable

    我正在使用 Guice v 3 0 并且有一个值被注入到构造函数中 该值可以为 null 因此我在构造函数中使用 Nullable 来自 javax annotations 注释了该参数 public MyClass Parameter1
  • 带有 Android 支持库 v7 的 Maven Android 插件

    我使用 maven android plugin 构建我的 android 应用程序 它依赖于 android 支持库 v4 和 v7 由于我没有找到如何从developer android com下载整个sdk 因此我无法使用maven
  • Java 7 默认语言环境

    我刚刚安装了 jre7 我很惊讶地发现我的默认区域设置现在是 en US 对于jre6 它是de CH 与jre7有什么不同 默认区域设置不再是操作系统之一吗 顺便说一句 我使用的是Windows7 谢谢你的回答 编辑 我已经看到了语言环境
  • 当路径的点超出视野时,Android Canvas 不会绘制路径

    我在绘制路径时遇到了 Android Canvas 的一些问题 我的情况是 我有一个相对布局工作 如地图视图 不使用 google api 或类似的东西 我必须在该视图上绘制一条路径 canvas drawPath polyPath bor
  • Base36 编码字符串?

    我一直在网上查找 但找不到解决此问题的方法 在 Python Ruby 或 Java 中 如何对以下字符串进行 Base 36 编码 nOrG9Eh0uyeilM8Nnu5pTywj3935kW 5 Ruby 以 36 为基数 s unpa
  • (Java) App Engine 中的静态文件无法访问

    The 示例文档 http code google com appengine docs java gettingstarted staticfiles html表示您只需将文件放在 war 或子目录 中 并且应该可以从主机访问它们 只要它
  • HAProxy SSL终止+客户端证书验证+curl/java客户端

    我希望使用我自己的自签名证书在 HAProxy 上进行 SSL 终止 并使用我创建的客户端证书验证客户端访问 我通过以下方式创建服务器 也是 CA 证书 openssl genrsa out ca key 1024 openssl req
  • 将SQL数据引入jquery availabletag

    我正在尝试制作自动完成文本框 但如何将 SQL 数据包含到 jquery 可用标记并循环它 我无法根据以下代码执行该功能 任何帮助 将不胜感激 谢谢 这是我的预期输出 预期结果演示 http jsfiddle net VvETA 71 jq
  • Reactive Spring 不支持 HttpServletRequest 作为 REST 端点中的参数?

    我创建了一个 RestController 如下所示 RestController public class GreetingController RequestMapping value greetings method RequestM
  • 如何在java Spring Boot中实现通用服务类?

    我有许多具有重复代码的服务 我想知道如何实现通用服务 以便我的所有服务都可以扩展它 服务接口示例 重复代码 Service public interface IUserService List
  • 在 MongoDB 和 Apache Solr 之间同步数据的简单方法

    我最近开始使用 MongoDB 和 Apache Solr 我使用 MongoDB 作为数据存储 并且希望 Apache Solr 为我的数据创建索引 以实现应用程序中的搜索功能 经过一些研究 我发现 基本上有两种方法可以在 MongoDB
  • org/codehaus/plexus/archiver/jar/JarArchiver(不支持的major.minor版本49.0)-Maven构建错误

    下午大家 我在尝试构建项目时收到上述错误 我很确定这与使用 Java 1 6 编译的 Maven 最新更新有关 而我们尝试构建的项目是 1 4 项目 在此之前的插件工作没有问题 因此我将以下内容添加到 POM xml 文件中以尝试强制使用现
  • 如何删除日期对象的亚秒部分

    当 SQL 数据类型为时间戳时 java util Date 存储为 2010 09 03 15 33 22 246 如何在存储记录之前将亚秒设置为零 例如 在本例中为 246 最简单的方法是这样的 long time date getTi
  • Java、Spring:使用 Mockito 测试 DAO 的 DataAccessException

    我正在尝试增加测试覆盖率 所以我想知道 您将如何测试 DAO 中抛出的 DataAccessExceptions 例如在一个简单的 findAll 方法中 该方法仅返回数据源中的所有数据 就我而言 我使用 Spring JdbcTempla
  • Spring Data JPA:查询如何返回非实体对象或对象列表?

    我在我的项目中使用 Spring Data JPA 我正在演奏数百万张唱片 我有一个要求 我必须获取各种表的数据并构建一个对象 然后将其绘制在 UI 上 现在如何实现我的 Spring 数据存储库 我读到它可以通过命名本机查询来实现 如果指
  • 如何从日期中删除毫秒、秒、分钟和小时[重复]

    这个问题在这里已经有答案了 我遇到了一个问题 我想比较两个日期 然而 我只想比较年 月 日 这就是我能想到的 private Date trim Date date Calendar calendar Calendar getInstanc
  • 源值 1.5 的错误已过时,将在未来版本中删除

    我使用 scala maven plugin 来编译包含 scala 和 java 代码的项目 我已经将源和目标设置为1 7 但不知道为什么maven仍然使用1 5 这是我在 pom xml 中的插件
  • 何时在 hibernate 中使用 DiscriminatorValue 注解

    在 hibernate 中使用 DiscriminatorValue 注释的最佳场景是什么以及何时 这两个链接最能帮助我理解继承概念 http docs oracle com javaee 6 tutorial doc bnbqn html
  • 使用 JFreeChart 为两个系列设置不同的 y 轴

    我正在使用 JFreeChart 使用折线图绘制两个数据系列 XYSeries 复杂的因素是 其中一个数据系列的 y 值通常远高于第二个数据系列的 y 值 假设第一个系列的 y 值约为数百万数量级 而第二个数据系列的 y 值约为数百万数量级

随机推荐

  • 在事件中使用 Context/Toast 时出现不需要的重组 - Jetpack Compose

    在 Jetpack Compose 应用程序中 我有两个与此处类似的可组合项 Composable fun Main println Composed Main val context LocalContext current var te
  • 将 Octave 转换为使用 CuBLAS

    我想将 Octave 转换为使用 CuBLAS 进行矩阵乘法 该视频似乎表明这就像输入 28 个字符一样简单 使用 CUDA 库加速应用程序 http youtu be P2Ew4Ljyi6Y t 1m59s 实际上 情况比这更复杂一些 有
  • 无符号和有符号比较

    这是非常简单的代码 include
  • 如何监控Event Dispatch Thread队列?

    我有一个繁重的java项目 它无法响应用户 我发现事件调度线程中需要很长时间的事件会导致我的项目运行缓慢 所以 我有两个问题 如何监视事件调度线程并查看队列中的事件以及最终哪些事件在事件调度线程中花费更多时间 如您所知 invokeLate
  • 为什么我应该在 Perl 中使用 Carp 而不是 warn ?

    人们总是给我举鲤鱼的例子 而不是警告我 为什么 是什么让鲤鱼比警告更好 carp 为您提供有关消息来源的更多信息 上下文 usr bin perl use Carp foo bar baz sub foo warn foo sub bar
  • ios6 和 ios7 之间不同的垂直对齐字体

    我对 iOS6 和 iOS7 之间的垂直对齐字体有一些问题 我有一个自定义字体 在 iOS6 中比垂直对齐的中心高一点 UIButton 那么我做到了吗 我已经设置了myButton titleEdgeInsets UIEdgeInsets
  • Jackson无法反序列化(Spring Cloud Stream Kafka)

    我试图从 kafka 读取 json 消息并收到异常 该异常表示 Jackson 无法将 json 反序列化为 POJO json就像 code 500 count 22 from 1528343820000 to 152834388000
  • 如何让(1 << 9)通过MISRA? [复制]

    这个问题在这里已经有答案了 我们使用 Parasoft 静态分析并打开 MISRA C 2004 检查器 该软件是一个嵌入式系统 我们喜欢这样描述常量 1 define MOTOR ON 1 lt lt 9 这表明寄存器中的第 9 位应该是
  • 在 Laravel 中使用 Eloquent 多态关系对数据进行分类

    在我的应用程序中 我有一个类别表和多个表 包括需要分类的服务和文章 为了方便起见 我想对这些数据使用多态模型 创建类别供服务或文章使用 例如 一旦表被定义为服务表 它就不会显示为可添加文章的可能类别 这也适用于上市 我将有一个文章菜单和一个
  • 将多种日期时间格式转换为一种标准格式

    我正在尝试在 R 中执行一些简单的操作 在加载表后 我遇到了一个组合了多种格式的日期列 Date 1 28 14 6 43 PM 1 29 14 4 10 PM 1 30 14 12 09 PM 1 30 14 12 12 PM 02 03
  • 从 Django JSONField 获取值

    我正在尝试从模型中的 JSONField 检索值 但出现错误 Api 对象没有属性 openapi spec info title class Api models Model Model to hold infomation on the
  • 在 woocommerce 搜索中包含自定义字段值

    我尝试在 woocommerce 中包含自定义字段值search但我有一个问题 在 Google 和 Stack 上 我也看到了带有 pre get posts 的示例 所以我认为这是一个很好的方向 我编写了如下代码 function cu
  • MVC3 Html.DisplayFor -- 是否可以让该控件生成 ID?

    我希望能够显示一些文本 而且还可以通过 jQuery 修改文本 如果我使用 EditorFor 而不是 DisplayFor 我会看到输入控件的 ID 不过 我不希望该值以这种方式可编辑 因此 我将其设为 DisplayFor 但它不会为该
  • 类型必须满足静态生存期

    我正在尝试增加 Rust 和 GTK RS 应用程序的结构 但我不知道如何处理事件连接 我发现问题出在错误的生命周期中 但我真的不明白如何解决它 derive Debug struct CreatingProfileUI window gt
  • SQL 计数(*) 和非重复

    为什么我们不能使用count distinct 在 SQL 中 比如计算所有不同的行 select count from select distinct from MyTable as T 尽管我强烈建议您重新考虑使用的任何查询DISTIN
  • 是什么 ”?” php 中使用的 URL 中的符号?

    我是 PHP 新手 在学习PHP语言的过程中 我注意到 有些网站会出现这样的URL www website com profile php user roa3 我的问题 是什么 符号用于 如果我要开发一个 php 网站 我必须在 URL 中
  • 如何将 ImageMagick 环境变量传递给 nginx mongrels?

    我的 Rails 应用程序使用 ImageMagick 但应用程序在尝试执行 ImageMagick 命令 识别 时失败 我通过在 Apache 配置中传递以下环境变量解决了开发中的这个问题 我正在运行 Apache Passenger S
  • 我应该在 DTO 中使用构建器模式吗?

    这可能是一个相当主观的问题 但我想知道更多的意见 我使用 Spring MVC 构建了 Rest API 服务 并实现了 DTO 域 实体模式 我想知道您对实施该法案有何看法建造者模式 https en wikipedia org wiki
  • “ecb”不适用于 Cordova 和推送插件

    我尝试使用演示使用 PushNotification 注册我的设备 这不起作用 打印 Cordova PushNotification Plugin Demo 和 registering android 并查看警报 OK successHa
  • 在 Java 中应该使用什么舍入方法来计算金钱?

    假设我在 Java 中有一个代表金钱的十进制值 舍入这些值的最佳方法是什么 例如 如果我有一个根据税率计算的值 那么我最终会得到以下结果 5 3999999999999995作为税额 我是否应该将其四舍五入到小数点后两位 double d