我是靠谱客的博主 开心刺猬,最近开发中收集的这篇文章主要介绍Bigdecima 高精度用法详解,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

BigDecimal a=new BigDecimal(“100”)

BigDecimal [] f =new BigDecimal[int n];             //定义高精度数数组

高精度 a 调用以下函数

add(BigDecimal n);                     //加法

subtract(BigDecimal n)              //减法
multiply(BigDecimal n)              //乘法

divide(BigDecimal n)                 //除法

divide(BigDecimal b,int  scale, BigDecimal.ROUND_HALF_UP)      //精度为scale,四舍五入

setScale(int scale , BigDecimal.ROUND_HALF_UP));                        //精度为scale,四舍五入

String str = n.stripTrailingZeros().toPlainString();                           ****
n是高精度数,stripTrailingZeros方法可以实现去掉末尾的0,结果为整数会去掉小数点,使用toPlainString可以输出数值,注意如果使用toString() 会变成科学计数法输出。

pow(int b)=a^b                                                           //幂函数

 pow(int n, MathContext mc)                                     //幂函数,n 是幂次,mc是有效数字位数
a.compareTo(BigDecimal.valueOf(0))==0                 //来判断是否为0。不知道为什么,a.intValue()==0会叛错

remainder(BigInteger n)                                                                      //取余(模)

divideAndRemainder(BigDecimal n):a[0]=this / n; a[1]=this % n    //除数加余数

compareTo(BigDecimal  n)                                                             //大于返回1,等于0,小于-1

min(BigInteger n)  ,max(BigInteger n)                                             //取两个数的较小、大者

intValue(),longValue(),floatValue(),doublue()                           //返回该类型的数的值。

abs(BigInteger n)                       //绝对值

negate ()                                   //取负数,无形参

toString()                                 //返回转换成的字符串,无形参



//货币格式和百分格式
import java.math.BigDecimal;
import java.text.NumberFormat;

public class Main
{
    public static void main(String[] args) {

        NumberFormat currency = NumberFormat.getCurrencyInstance(); //建立货币格式化引用
        NumberFormat percent = NumberFormat.getPercentInstance();  //建立百分比格式化引用
        percent.setMaximumFractionDigits(3); //百分比小数点最多3位

        BigDecimal loanAmount = new BigDecimal("15000.48"); //贷款金额
        BigDecimal interestRate = new BigDecimal("0.008"); //利率
        BigDecimal interest = loanAmount.multiply(interestRate); //相乘

        System.out.println("贷款金额:t" + currency.format(loanAmount));
        System.out.println("利率:t" + percent.format(interestRate));
        System.out.println("利息:t" + currency.format(interest));
    }
}
运行结果:
贷款金额:    ¥15,000.48
利率:    0.8%
利息:    ¥120.00





最后

以上就是开心刺猬为你收集整理的Bigdecima 高精度用法详解的全部内容,希望文章能够帮你解决Bigdecima 高精度用法详解所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部