文献种类:专题技术总结文献
开发工具与关键技术: IntelliJ IDEA、Java 语言
作者: 方建恒 年级: 2020 撰写时间: 2022 年 8 月 28 日
今天我给大家继续分享一下我的Java笔记,
我们来了解一下Java中的常用类-BigDecimal类,
为了能精确表示和计算浮点数,Java提供了BigDecimal类,
该类提供了大量的构造器用于创建BigDecimal对象,
其中包括把所有的基本数值型变量转换成一个BigDecimal对象,
和利用数字字符串、数字字符数组来创建BigDecimal对象。
注:实际上我们并不推荐使用构造器来转换浮点型数据,
因为那会导致精度损失,如果需要转换浮点型数据,
推荐使用BigDecimal.valueOf(double)或者使用形参为字符串类型的构造器。
以下为一些常用的BigDecimal类的方法:
valueOf(double val):用于将double转换为BigDecimal。
valueOf(long val):用于将long值转换为具有零标度的BigDecimal。
valueOf(double val)方法和valueOf(long val)方法的用法如下:
pow(int n):用于返回其值为 (thisn) 的 BigDecimal。
compareTo(BigDecimal val):用于将此BigDecimal与指定的BigDecimal比较。
abs():用于返回BigDecimal,其值为此BigDecimal的绝对值,其标度为this.scale()。
add(BigDecimal augend):用于返回一个BigDecimal,其值为(this + augend)。
subtract(BigDecimal subtrahend):
用于返回一个BigDecimal,其值为(this - subtrahend)。
multiply(BigDecimal multiplicand):
用于返回一个BigDecimal,其值为(this × multiplicand)。
divide(BigDecimal divisor):用于返回一个BigDecimal,其值为(this / divisor)。
注:BigDecimal不能除以0。
以上五种方法的用法如下图所示:
byteValue():用于将此BigDecimal转换为byte。
以下为byteValue()方法的用法:
byteValueExact():用于将此BigDecimal转换为byte,以检查丢失的信息。
shortValue():用于将此BigDecimal转换为short。
shortValueExact():用于将此BigDecimal转换为short,以检查丢失的信息。
intValue():用于将此BigDecimal转换为 int。
intValueExact():用于将此BigDecimal转换为 int,以检查丢失的信息。
longValue():用于将此BigDecimal转换为long。
longValueExact():用于将此BigDecimal转换为long,以检查丢失的信息。
floatValue():用于将此BigDecimal转换为float。
doubleValue():用于将此BigDecimal转换为double。
toString():用于返回此BigDecimal的字符串表示形式,
如果需要指数,则使用科学记数法。
以下为常用的BigDecimal构造器:
BigDecimal(char[] in):用于将BigDecimal的字符数组表示形式转换为BigDecimal,
接受与BigDecimal(String)构造方法相同的字符序列。
BigDecimal(double val):用于将double转换为BigDecimal,
后者是double的二进制浮点值准确的十进制表示形式。
BigDecimal(int val):用于将int转换为BigDecimal。
BigDecimal(long val):用于将long转换为BigDecimal
BigDecimal(String val):
用于将BigDecimal的字符串表示形式转换为BigDecimal。
再次强调为了保证转换的精度问题,请尽量避免使用构造器转换,
若无法避免则可以使用形参为字符串类型的构造器。
以上就是今天给大家分享的关于JAVA的部分笔记。