我是靠谱客的博主 明亮海燕,最近开发中收集的这篇文章主要介绍BigDecimal的基本使用及应用场景BigDecimal的基本使用,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

BigDecimal的基本使用

  • 作用

    可以用来进行精确计算

  • 构造方法

    方法名说明
    BigDecimal(double val)参数为double
    BigDecimal(String val)参数为String
  • 常用方法

    方法名说明
    public BigDecimal add(另一个BigDecimal对象)加法
    public BigDecimal subtract (另一个BigDecimal对象)减法
    public BigDecimal multiply (另一个BigDecimal对象)乘法
    public BigDecimal divide (另一个BigDecimal对象)除法
    public BigDecimal divide (另一个BigDecimal对象,精确几位,舍入模式)除法
  • 总结

    1. BigDecimal是用来进行精确计算的
    2. 创建BigDecimal的对象,构造方法使用参数类型为字符串的。
    3. 四则运算中的除法,如果除不尽请使用divide的三个参数的方法。

    代码示例:

    BigDecimal divide = bd1.divide(参与运算的对象,小数点后精确到多少位,舍入模式);
    参数1 ,表示参与运算的BigDecimal 对象。
    参数2 ,表示小数点后面精确到多少位
    参数3 ,舍入模式  
      BigDecimal.ROUND_UP  进一法
      BigDecimal.ROUND_FLOOR 去尾法
      BigDecimal.ROUND_HALF_UP 四舍五入
    
  • 应用

    题目描述

    对于一个 nn 个顶点的凸多边形,它的任何三条对角线都不会交于一点。请求出图形中对角线交点的个数。

    数据规模与约定

    • 对于 50 %50% 的数据,保证 3 leq n leq 1003≤n≤100。
    • 对于 100 %100% 的数据,保证 3 leq n leq 10^53≤n≤105。
    • 这道题由于数据范围较大可将变量定义为BigDecimal 类型来解决。

    • 题解

    • package com.javaqian.顺序结构;
      
      import java.math.BigInteger;
      import java.util.Scanner;
      
      /**
       *
       * 题目描述
       * 对于一个n个顶点的凸多边形,它的任何三条对角线都不会交于一点。请求出图形中对角线交点的个数。
       * 计算时的技巧
       * 可将 n (n-1) (n-2) * (n-3) / 24 转化为 n (n-1) / 2 (n-2) / 3 * (n-3) / 4
       *
       * 难点:高精度运算
       */
      public class LuoGu2181 {
          public static void main(String[] args) {
              Scanner scanner=new Scanner(System.in);
              BigInteger n=scanner.nextBigInteger();
              BigInteger ans1=n.multiply(n.subtract(BigInteger.valueOf(1)));
              BigInteger ans2=ans1.divide(BigInteger.valueOf(2));
              BigInteger ans3=ans2.multiply(n.subtract(BigInteger.valueOf(2)));
              BigInteger ans4=ans3.divide(BigInteger.valueOf(3));
              BigInteger ans5=ans4.multiply(n.subtract(BigInteger.valueOf(3)));
              BigInteger ans6=ans5.divide(BigInteger.valueOf(4));
              System.out.println(ans6);
          }
      }
      

最后

以上就是明亮海燕为你收集整理的BigDecimal的基本使用及应用场景BigDecimal的基本使用的全部内容,希望文章能够帮你解决BigDecimal的基本使用及应用场景BigDecimal的基本使用所遇到的程序开发问题。

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

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

评论列表共有 0 条评论

立即
投稿
返回
顶部