java - 我们如何设置 BigDecimal 的分辨率,使其只能采用指定增量的值?
问题描述
是否可以将 BigDecimal 的分辨率设置为例如 10 –9,因此值必须是该值的倍数,不能少。
或者在通过舍入执行算术运算时是否必须这样做?
解决方案
这就是我一直在寻找的
BigDecimal val1 = new BigDecimal("1.00876876989",MathContext.DECIMAL128);
// setting the scale to 10 sets the limits resolution, but the precision provided by the MathContext must be big enough to support this minimum resolution.
// The rounding type doesn't matter but must be provided.
val1 = val1.setScale(10, BigDecimal.ROUND_DOWN);
推荐阅读
- excel - 使用大小为 1 的整数或整数数组更好吗?
- rest - 如何在 Swagger 响应中指定特定参数而不是使用“allOf”?
- wxwidgets - 如何禁用 wxWebView 浏览器的缩放?
- node.js - 在节点中解析 x509 证书字符串
- java - 如何在不同的片段中添加后按按钮?
- c++ - libevent 是否允许在不同的线程中运行定时器/io 的回调?
- ruby - 我们如何将 chef 中的 bash 资源输出输出到文件中?
- java - PostValue 工作,但 SetValue 不 MutableLiveData - AndroidX
- flutter - 颤振小部件轮播而不仅仅是图像轮播?
- java - Hibernate 检索多行并存储在对象数组中