java - 如何在 Java 中对 BigDecimal 进行舍入
问题描述
我有一个非常大的数字,我使用 BigDecimal 类型,
但是现在我想对 BigDecimal 进行四舍五入,如下所示:如果数字是10803432.12,它将向下舍入为10803432,如果数字是10803432.69,它将四舍五入为10803433 那么怎么做,我的代码:
BigDecimal bigDecimal = new BigDecimal("10803432.12");
MathContext mc = new MathContext(0);
System.out.println(bigDecimal.round(mc));
解决方案
public static void main(String[] args) throws IOException {
BigDecimal bigDecimal = new BigDecimal("10803432.12");
bigDecimal = bigDecimal.setScale(0, RoundingMode.HALF_UP);
System.out.println(bigDecimal);
bigDecimal = new BigDecimal("10803432.69");
bigDecimal = bigDecimal.setScale(0, RoundingMode.HALF_UP);
System.out.println(bigDecimal);
}
输出
10803432
10803433
推荐阅读
- .htaccess - HTACCESS redirect controller folder to subdomain
- java - 引起:org.springframework.beans.factory.NoSuchBeanDefinitionException:没有符合条件的 bean 类型
- video - FFmpeg side by side video (widescreen) and play each video one by one
- c++ - Keep Lua state in a C++ environment to limit context switches
- ios - Bluetooth Unsupported
- python - How to terminate a thread in Python?
- ibm-watson - Passing Slack Native JSON from Watson Assistant Dialog as Response
- sql - Storing a range of months in an SQL table
- visual-studio-code - How to run multiple VS Code instances to use different identities for interacting with a remote git repository while working with Remote Containers?
- python - Installing python 3.6 on mac along with pip