`

金额的计算BigDecimal类

阅读更多
金额的计算BigDecimal类

double d = 9.84;
double d2 = 1.22;
//注意需要使用BigDecimal(String val)构造方法
BigDecimal bigDecimal = new BigDecimal(Double.toString(d));
BigDecimal bigDecimal2 = new BigDecimal(Double.toString(d2));

//加法
BigDecimal bigDecimalAdd = bigDecimal.add(bigDecimal2);
double add = bigDecimalAdd.doubleValue();

//减法
BigDecimal bigDecimalSubtract = bigDecimal.subtract(bigDecimal2);
double subtract = bigDecimalSubtract.doubleValue();

//乘法
BigDecimal bigDecimalMultiply = bigDecimal.multiply(bigDecimal2);
double multiply = bigDecimalMultiply.doubleValue();

//除法
int scale = 2;//保留2位小数
BigDecimal bigDecimalDivide = bigDecimal.divide(bigDecimal2, scale, BigDecimal.ROUND_HALF_UP);
double divide = bigDecimalDivide.doubleValue();

//格式化
double format = 12343171.6;

//获取常规数值格式
NumberFormat number = NumberFormat.getNumberInstance();
String str = number.format(format);//12,343,171.6

//获取整数数值格式
NumberFormat integer = NumberFormat.getIntegerInstance();
str = integer.format(format);//如果带小数会四舍五入到整数12,343,172

//获取货币数值格式
NumberFormat currency = NumberFormat.getCurrencyInstance();
currency.setMinimumFractionDigits(2);//设置数的小数部分所允许的最小位数(如果不足后面补0)
currency.setMaximumFractionDigits(4);//设置数的小数部分所允许的最大位数(如果超过会四舍五入)
str = currency.format(format);//¥12,343,171.60

//获取显示百分比的格式
NumberFormat percent = NumberFormat.getPercentInstance();
percent.setMinimumFractionDigits(2);//设置数的小数部分所允许的最小位数(如果不足后面补0)
percent.setMaximumFractionDigits(3);//设置数的小数部分所允许的最大位数(如果超过会四舍五入)
str = percent.format(format);//1,234,317,160.00%
分享到:
评论

相关推荐

    Java源码根据消费金额计算折扣.rar

    而"根据消费金额计算折扣"可能是源码文件的名字,里面包含了`DiscountCalculator`类的具体实现。通过阅读和学习这个源码,开发者不仅可以了解如何在Java中处理业务逻辑,还能掌握条件判断、计算和返回值处理等基础...

    高精度JSBigDecimal运算

    例如,在电商网站进行价格计算时,可以确保小数部分的正确性,防止因精度问题导致的金额计算错误。在科学计算中,高精度的BigDecimal运算也能确保实验结果的准确性。 总的来说,高精度JSBigDecimal运算库通过提供高...

    Java使用BigDecimal进行运算封装的实际案例

    该工具类提供了加法、减法、除法等多种数学运算方法,它们都可以用于金额计算。 首先,让我们看一下工具类的代码: ```java public class NumberArithmeticUtils { // ... } ``` 这个工具类提供了多种方法,如`...

    java代码-BigDecimal 四舍五入保留2位小数. 金额从单位分转成单位元

    在Java编程中,BigDecimal类是用于处理大数值和精确浮点计算的重要工具,尤其是在金融或会计领域,确保了计算的精确性。本示例代码主要关注如何使用BigDecimal进行四舍五入操作,以保留两位小数,并将金额从单位分...

    Java_BigDecimalInterest:使用 BigDecimal 计算复利的简单程序。 摘自“Java How To Program, 10e, Early Objects”——第 8 章

    在Java编程中,BigDecimal类是用于进行高精度、任意精度的浮点数运算的重要工具,尤其在财务计算、科学计算等需要精确结果的场景中。本项目“Java_BigDecimalInterest”是一个简单的示例,展示了如何利用BigDecimal...

    浅谈java中BigDecimal的equals与compareTo的区别

    在Java编程语言中,BigDecimal类用于表示任意精度的十进制浮点数,它提供了对大数值计算的精确控制。本文将深入探讨BigDecimal的`equals`方法和`compareTo`方法的区别,这对于处理财务、金融等领域中对精度要求极高...

    java贷款计算器

    例如,在计算贷款利息和还款金额时,`BigDecimal`的`add`、`subtract`、`multiply`和`divide`方法将被广泛应用。 其次,`Loan.java`文件可能包含了贷款计算的主要逻辑。在这个类中,可能会定义一些属性如贷款金额、...

    Joda-Money-用于表示货币金额的Java库

    Joda-Money库内置了对国际化的支持,可以使用`MoneyFormatter`类来格式化货币金额,适应不同国家的语言和货币显示习惯。`MoneyFormatterBuilder`可以帮助构建自定义的格式器。 ### 6. 集合操作 Joda-Money与Java...

    【项目实践】商业计算怎样才能保证精度不丢失(csdn)————程序.pdf

    在商业计算中,如果金额不涉及小数部分,这种方法也可以考虑。 在处理BigDecimal的数值运算时,包括加`add()`, 减`subtract()`, 乘`multiply()`和除`divide()`,都需要注意其不可变性。每次运算都会生成新的...

    金额的大小转换及小数的四舍五入处理

    在Java中,`BigDecimal`类是用来处理大数值和高精度计算的,同样适用于四舍五入: ```java BigDecimal bd = new BigDecimal("12345.6789"); BigDecimal rounded = bd.setScale(2, RoundingMode.HALF_UP); System....

    java中每月等额与先息后本计算

    在实际应用中,我们需要确保输入的月利率是正确的小数形式,并且考虑到可能存在的精度问题,可以使用`BigDecimal`类来进行精确的浮点数运算,避免因浮点数误差导致的计算错误。`MoneyUtils.MATHCONTEXT`通常是一个...

    红包算法 Java

    这里使用了`BigDecimal`类型来处理金额,主要是因为浮点数在进行数学运算时可能会出现精度问题,而`BigDecimal`能够提供更高精度的计算。 ##### 3.2 随机红包工具类 接下来是红包算法的核心部分——`...

    崔希凡JavaWeb笔记day25-day27

    - **`getTotal()`方法**:计算购物车中所有商品的总价,同样使用`BigDecimal`来确保计算结果的准确性。 #### 二、BigDecimal的使用技巧 在购物车模块的设计中,为了精确处理商品价格和数量的乘积运算,使用了`...

    人民币小写转大写JAVA程序.doc

    在JAVA中,BigDecimal类型主要用于精度计算,特别是在金融领域中,BigDecimal类型可以确保金额计算的准确性。在本程序中,使用BigDecimal类型来处理金额,以确保计算的准确性。 知识点2:中文数字与单位的存储 在...

    Android银行按揭贷款基本计算功能源码.zip

    - 使用Java的数学库进行计算,如`Math.pow()`计算指数,`BigDecimal`处理精确浮点运算。 - 创建方法封装计算逻辑,例如`calculateEquatedInstallment()`和`calculateTotalInterest()`。 5. **结果展示** 计算...

    微信随机生成红包金额算法java版

    此外,这些代码片段提供了关于如何在Java中进行随机数处理和金额计算的基本示例,对于学习Java编程和理解红包算法原理十分有用。开发者可以根据自己的项目需求进行适当的调整和优化,例如添加异常处理、增加日志记录...

    jquery精度计算代码 jquery指定精确小数位

    在JavaScript和jQuery中,精度计算通常涉及到数字的四舍五入和保留小数位数的操作。这在处理货币、百分比或任何需要精确数值表示的数据时尤为重要。`toFloat`函数是一个自定义的jQuery方法,用于将HTML元素中的数值...

    Java解惑.zip

    解决找零谜题可能需要理解如何使用BigDecimal类来确保计算的准确性,并处理各种可能的边缘情况,如零钱不足或输入金额无效。 在解答这些谜题的过程中,开发者会深入理解Java的基础语法、类型系统、运算符优先级、...

    JAVA语言解惑文档

    要处理浮点数精度问题,我们可以选择使用`BigDecimal`类,它提供了任意精度的十进制计算。例如: ```java import java.math.BigDecimal; public class Change{ public static void main(String args[]){ ...

Global site tag (gtag.js) - Google Analytics