首页 > 编程语言 >javase-17、API.数学相关

javase-17、API.数学相关

时间:2024-12-19 23:31:08浏览次数:10  
标签:BigInteger val 17 double decimalFormat API static javase DecimalFormat

一、Math类

Math类提供了大量的静态方法来便于我们实现数学计算,如求绝对值、取最大或最小值等。

https://doc.qzxdp.cn/jdk/17/zh/api/java.base/java/lang/Math.html

  • 所在模块:java.base
  • 所在包: java.lang
static double abs(double a) 
    返回a值的绝对值
    其它重构方法支持不同数据类型:int|long|float|double;
static double max(double a, double b)
    返回较大者;
static double min(double a, double b)
    返回较小者;
static double pow(double a, double b)
    返回a的b次方;
static double sqrt(double a)
    返回a平方根;
static double log(double a)
    返回a的对数;
static double sin(double a)
    返回正弦值;
static double asin(double a)
    返回反正弦值;
static long round(double a)
    4舍5入,【注意返回类型】;
static int round(float a)
    4舍5入,【注意返回类型】;
static double ceil(double a)
    返回大于a,且最接近a的最小整数;
static double random()
    [0.0,1)
    大于或等于 0.0 且小于 1.0的随机数;

二、BigInteger类

BigInteger用于处理大整数(任意长度的整数) ,位于java.math

构造方法

public BigInteger(String val) 
    将十进制字符串表示形式转换为 BigInteger。
BigInteger a = new BigInteger("123456789123456789123456789");

常用方法

BigInteger add(BigInteger val)
    返回值为 (this + val) ;
BigInteger subtract(BigInteger val)
    返回值为 (this - val) ;
BigInteger multiply(BigInteger val)
    返回值为 (this * val) ;
BigInteger divide(BigInteger val)
    返回值为 (this / val) ;
BigInteger remainder(BigInteger val)
    返回值为 (this % val) ;
BigInteger compareTo(BigInteger val)
    this大于value -> 1
    this等于value -> 0
    this小于value -> -1;
String toString()
    返回此 BigInteger 的十进制字符串表示形式;
String toString(int radix)
    返回给定基数中此 BigInteger 的字符串表示形式;

例如:

BigInteger a = new BigInteger("123456789123456789123456789");
BigInteger b = new BigInteger("123456789123456789123456789");
BigInteger c = a.add(b);
System.out.println(a.bitCount());
System.out.println(c);

三、DecimalFormat类

DecimalFormat 位于 java.text.DecimalFormatNumberFormat(抽象类)的具体子类,用于格式化十进制数

0:表示一位数字
	整数:最少是几位整数,不足时补0
	小数:最多是几位小数(4舍5入),不足时补0
#:表示一位数字
	整数:最少是几位整数,不补0
	小数:最多是几位小数(4舍5入),不补0
,:在数字中用作分组分隔符
.:用于表示小数点的位置。
;:子模式边界,分隔正数和负数子规则
%:将数字格式化为百分比形式。

例1

0 和 # 的 区别

DecimalFormat decimalFormat = new DecimalFormat("00000");
String rst = decimalFormat.format(123);
System.out.println(rst); // 00123
DecimalFormat decimalFormat = new DecimalFormat("#####");
String rst = decimalFormat.format(123);
System.out.println(rst); // 123

分组分隔符

DecimalFormat decimalFormat = new DecimalFormat(",#####");
String rst = decimalFormat.format(123456);
System.out.println(rst); // 

小数点

DecimalFormat decimalFormat = new DecimalFormat(".00"); // 【固定】两位小数
DecimalFormat decimalFormat = new DecimalFormat(".##"); // 【最多】两位小数
String rst = decimalFormat.format(3.145926);
System.out.println(rst); // 

百分比形式

DecimalFormat decimalFormat = new DecimalFormat("+.00%"); 
System.out.println(decimalFormat.format(0.6812)); //

子模式边界(使用;分隔正负)

DecimalFormat decimalFormat = new DecimalFormat("+.00%;-.00%"); 
System.out.println(decimalFormat.format(0.6812));
System.out.println(decimalFormat.format(-0.6834));

将字符串转化为数字

DecimalFormat decimalFormat = new DecimalFormat("¥#.00");
double price = decimalFormat.parse("¥123.45").doubleValue();
System.out.println(price);

标签:BigInteger,val,17,double,decimalFormat,API,static,javase,DecimalFormat
From: https://blog.csdn.net/weixin_42238065/article/details/144597158

相关文章

  • CSS学习记录17
    CSS圆角通过CSSborder-radius属性,可以实现任何元素的“圆角”样式。CSSborder-radius属性用于定义元素角的半径。使用此属性可以为元素添加圆角。#rcorners1{border-radius:25px;background:#73AD21;padding:20px;width:200px;height:150px;}......
  • js 如何调用浏览器摄像头api,MediaDevices.getUserMedia
    在JavaScript中,可以使用MediaDevices接口和getUserMedia方法来访问用户的摄像头,并拍摄照片或录制视频。以下是一个简单的示例,展示了如何使用这些API来拍照和录制视频。拍照<!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metaname="viewport"......
  • MATH GR5280, Capital Markets & Investments
    MATHGR5280,CapitalMarkets&InvestmentsStartdate:12/7/2024Duedate:12/21/20241FinalProjectNote:AllfilesandinformationrelatedtothefinalprojectareuploadedintotheModulesstartingwith“FinalProject”prefixonCourseWorks.The......
  • 17盒子模型练习-设置背景-附加背景图片
    一、元素的水平居中方案这个是在开发中比较常见的功能,就是元素的水平居中,需要元素在父元素中水平居中显示,父元素一般都是块级元素,inline-block如果想要居中目前我们学习了两种方案:行内级元素(包括inline-block元素)水平居中:在父元素中设置text-align:center块级元素水平居中:ma......
  • Vue零基础教程|从前端框架到GIS开发系列课程(六)组合式API
    前文指路:Vue零基础教程|从前端框架到GIS开发系列课程(五)组件式开发Vue零基础教程|从前端框架到GIS开发系列课程(四)计算属性与侦听器Vue零基础教程|从前端框架到GIS开发系列课程(三)模板语法Vue零基础教程|从前端框架到GIS开发系列课程(二)0帧起手《Vue零基础教程》,从前端框架到G......
  • Redis API(springboot整合,已封装)
    目录结构maven导包pom.xmlapplication.ymlredis配置类编写Service方法调用示例结构maven导包pom.xml依赖项主要添加如下<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-data-re......
  • 【2024-2017】Adobe图像处理软件 Photoshop(常简称为PS)下载安装
    AdobePhotoshop软件简介AdobePhotoshop(常简称为PS)是由Adobe公司开发的一款图像处理软件。自1988年首次发布以来,Photoshop以其强大的图像编辑功能和用户友好的界面而受到全球设计师、摄影师以及艺术家的喜爱。它广泛应用于摄影后期处理、数字绘画、图形设计、网页设计以及动......
  • 解析Java中的Stream API:函数式编程与性能优化
        自Java8以来,Java语言引入了StreamAPI,为开发者提供了一种全新的数据处理方式。StreamAPI支持函数式编程风格,使得对集合、数组、IO流等数据源的操作更加简洁、直观且具有高效的性能优势。通过StreamAPI,我们可以在不修改原有数据结构的情况下,进行复杂的数据过滤、......
  • 深入解析1688详情API接口概念(1688.item get)商品上货
    一、1688详情API接口概念1688详情API接口(1688.itemget)是一种编程接口,它允许开发者通过特定的请求方式获取1688平台上商品的详细信息。这个接口就像是一个数据通道,开发者可以利用它从1688的庞大商品数据库中提取所需的数据,以便进行各种应用的开发。二、1688.item......
  • Google Maps 抢先体验:解锁 Solar API 的更多覆盖范围和更深入的见解
    随着全球能源需求的上升,住宅太阳能发电成为可持续发展未来的关键因素。要充分发挥太阳能的潜力,可获得且可扩展的解决方案至关重要。CloudAce作为GoogleCloudPremierPartner将为大家同步谷歌地图最新信息:CloudAce-谷歌云|谷歌云全球战略合作伙伴|云服务器据点最多......