javase-17、API.数学相关

一、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)45,【注意返回类型】;
static int round(float a)45,【注意返回类型】;
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 -> 1this等于value -> 0this小于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);

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/63436.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

答题考试系统v1.6.1高级版源码分享+uniapp+搭建测试环境

一.系统介绍 一款基于FastAdminThinkPHPUniapp开发的小程序答题考试系统,支持多种试题类型、多种试题难度、练题、考试、补考模式,提供全部前后台无加密源代码,支持私有化部署 二.测试环境 系统环境:CentOS、 运行环境&#x…

浅谈仓颉语言的优劣

仓颉语言,作为华为自研的新一代编程语言,以其高效、安全、现代化的特点,引起了广泛的关注。 仓颉语言的优势 高效并发 仓颉语言的一大亮点是其轻松并发的能力。它实现了轻量化用户态线程和并发对象库,使得高效并发变得轻松。仓颉…

Sass系统数据隔离的三种方式

1.完全独立的数据库 为每一个租户单独部署一个数据库 优点:达到了真正的按租户进行隔离,不同租户之间相互没有影响,可以针对一些特殊租户例如大客户做一些定制化的开发,计费相对简单,按照资源使用进行计费。 缺点&…

FFmpeg 主要结构体剖析

FFmpeg 探索之旅 FFmpeg 主要结构体剖析 FFmpeg 探索之旅前言1、AVFormatContext2、AVCodecContext3、AVCodec4、AVStream5、AVPacket6、AVFrame7、AVCodecParameters7、SwsContext8、AVIOContext9、AVRational 总结 前言 嘿,各位小伙伴!在如今这个多媒…

经典电荷泵/Charge pump——1998.JSSC

电路结构 工作原理 M3 and M4 are the series switches, and M5, M6 switch to the highest voltage. If M5 and M6 are missing, having a large capacitor is of absolute necessity, because must always stay between 2 Vin and 2Vin - Uj to avoid switching on the vert…

Swin transformer 论文阅读记录 代码分析

该篇文章,是我解析 Swin transformer 论文原理(结合pytorch版本代码)所记,图片来源于源paper或其他相应博客。 代码也非原始代码,而是从代码里摘出来的片段,配上简单数据,以便理解。 当然&…

GPT-Omni 与 Mini-Omni2:创新与性能的结合

近年来,随着人工智能技术的飞速发展,各种模型和平台应运而生,以满足从个人用户到企业级应用的多样化需求。在这一领域,GPT-Omni 和 Mini-Omni2 是两款备受瞩目的技术产品,它们凭借独特的设计和强大的功能,在…

龙迅#LT7911E适用于EDP/DP/TPYE-C转MIPIDSI应用,支持图像处理功能,内置I2C,主应用副屏显示,投屏领域!

1. 描述 LT7911E 是一款高性能 eDP 转 MIPI D-PHY 转换器,旨在将 eDP 源连接到 MIPI 显示面板。 LT7911E 集成了一个符合 eDP1.4 标准的接收器,支持 1.62Gbps 至 5.67Gbps 的输入数据,以 270Mbps 的递增步长,以及一个 2 端口 D…

C语言——实现求出最大值

问题描述&#xff1a;利用C语言自定义函数求出一维数组里边最大的数字 //利用函数找最大数#include<stdio.h>int search(int s[9]) //查找函数 {int i , max s[0] , max_xia 0;for(i0;i<9;i){if(s[i] > max){max_xia i;max s[max_xia];}}return max; } in…

解锁 draw.io 流程图制作工具Docker私有化部署(2/2)

一、draw.io 流程图制作工具简介 &#xff08;一&#xff09;基础介绍 draw.io 是一款备受青睐的开源流程图软件&#xff0c;它有着诸多优点。首先&#xff0c;其界面十分整洁有序&#xff0c;完全没有广告的干扰&#xff0c;并且所有功能都是免费向用户开放的&#xff0c;这一…

[HNCTF 2022 Week1]baby_rsa

源代码&#xff1a; from Crypto.Util.number import bytes_to_long, getPrime from gmpy2 import * from secret import flag m bytes_to_long(flag) p getPrime(128) q getPrime(128) n p * q e 65537 c pow(m,e,n) print(n,c) # 62193160459999883112594854240161159…

docker run命令大全

docker run命令大全 基本语法常用选项基础选项资源限制网络配置存储卷和挂载环境变量重启策略其他高级选项示例总结docker run 命令是 Docker 中最常用和强大的命令之一,用于创建并启动一个新的容器。该命令支持多种选项和参数,可以满足各种使用场景的需求。以下是 docker ru…

Java中JDBC过时方法的替代方案以及JDBC为什么过时详细分析

在Java中&#xff0c;JDBC的一些方法因为安全问题、性能问题或者因为引入了更好的替代方法已经被标记为过时&#xff08;Deprecated&#xff09;。 以下是一些被过时的JDBC方法以及它们的替代方案&#xff1a; 1.DriverManager.getDrivers(): 这个方法用于获取所有当前注册的J…

详细指南:在Ubuntu 20.04 ROS 1环境下设置和使用OpenNI2 SDK

详细指南&#xff1a;在Ubuntu 20.04 ROS 1环境下设置和使用OpenNI2 SDK 要在Ubuntu 20.04系统上使用ROS 1环境中的OpenNI2 SDK&#xff0c;您需要按照一系列有组织的步骤进行操作&#xff0c;以确保软件和驱动正确安装&#xff0c;并配置好相应的开发环境。以下是详细的步骤说…

RK3568平台(Kbuild篇)vmlinux 编译过程

一.vmlinux是什么 vmlinux 是 Linux 操作系统的内核映像文件,它包含了 Linux 内核的所有功能代码和必要的数据结构。这个文件通常是没有经过压缩和符号表去除的原始可执行文件。 具体来说,vmlinux 文件是编译后的 Linux 内核的最终产物,通常是 ELF(可执行和可链接格式)格…

Flink2.0未来趋势中需要注意的一些问题

手机打字&#xff0c;篇幅不长&#xff0c;主要讲一下FFA中关于Flink2.0的未来趋势&#xff0c;直接看重点。 Flink Forward Asia 2024主会场有一场关于Flink2.0的演讲&#xff0c;很精彩&#xff0c;官方也发布了一些关于Flink2.0的展望和要解决的问题。 1.0时代和2.0时代避免…

智能座舱进阶-应用框架层-Jetpack主要组件

Jetpack的分类 1. DataBinding&#xff1a;以声明方式将可观察数据绑定到界面元素&#xff0c;通常和ViewModel配合使用。 2. Lifecycle&#xff1a;用于管理Activity和Fragment的生命周期&#xff0c;可帮助开发者生成更易于维护的轻量级代码。 3. LiveData: 在底层数据库更…

个人秋招总结

秋招总结 个人基本情况拿到offer的公司希望比较大但是主动放弃的简历没过的&#xff0c;有名气的公司&#xff08;一般的公司太多了不写&#xff09;秋招感触 个人基本情况 前言 仅用于个人总结&#xff0c;主要是写给自己看的&#xff0c;也给别人一点参考 学历 中国农业大学计…

docker 使用 xz save 镜像

适用场景 如果docker save -o xxx > xxx 镜像体积过大,可以使用 xz 命令压缩。 命令 例如 save busybox:1.31.1 镜像,其中 -T 是使用多核心压缩,可以加快压缩。 docker save busybox:1.31.1 |xz -T 8 > /tmp/busybox:1.31.1安装 xz Ubuntu/Debian sudo apt upda…

PowerMILL 客制化宏 - 变量

从PowerMILL2012起&#xff0c;命令起始支持变量。支持变量将使宏命令更加灵活和功能强大。可以对变量做一些运算而不依赖其它语言。 当前支持有变量类型为&#xff1a; INT&#xff1b; REAL&#xff1b; STRING&#xff1b; ENTITY&#xff1b; ARRAY LIST; OBJECT; 以下就…