[align=center;" align="center][size=medium;]1[/size]
[size=medium;]public BigDecimal(double val)[/size]
构造[/size]
将[/size]
double
表示形式转换
为[/size]
BigDecimal
[size=medium;]2[/size]
[size=medium;]public BigDecimal(int val)[/size]
构造[/size]
将[/size]
int
表示形式转换为
[size=medium;]BigDecimal[/size]
[size=medium;]3[/size]
[size=medium;]public BigDecimal(String val)[/size]
构造[/size]
将字符串表示[/size]
形式转换为[/size]
BigDecimal
[size=medium;]4[/size]
[size=medium;]public BigDecimal add(BigDecimal augend)[/size]
普通[/size]
加法[/size]
[size=medium;]5[/size]
[size=medium;]public BigDecimal subtract(BigDecimal
subtrahend)[/size]
普通[/size]
减法[/size]
[size=medium;]6[/size]
[size=medium;]public BigDecimal multiply(BigDecimal
multiplicand)[/size]
普通[/size]
乘法[/size]
[size=medium;]7[/size]
[size=medium;]public BigDecimal divide(BigDecimal
divisor)[/size]
普通[/size]
除法[/size]
[/align]
范例:进行四舍五入的四则运算
package
org.lxh.demo11.numberdemo;
import
java.math.BigDecimal;
class
MyMath {
public
static
double
add(
double
d1,
double
d2)
{
// 进行加法运算
BigDecimal b1 =
new
BigDecimal(d1);
BigDecimal b2 =
new
BigDecimal(d2);
return
b1.add(b2).doubleValue();
}
public
static
double
sub(
double
d1,
double
d2)
{
// 进行减法运算
BigDecimal b1 =
new
BigDecimal(d1);
BigDecimal b2 =
new
BigDecimal(d2);
return
b1.subtract(b2).doubleValue();
}
public
static
double
mul(
double
d1,
double
d2)
{
// 进行乘法运算
BigDecimal b1 =
new
BigDecimal(d1);
BigDecimal b2 =
new
BigDecimal(d2);
return
b1.multiply(b2).doubleValue();
}
public
static
double
div(
double
d1,
double
d2,
int
len) {
// 进行除法运算
BigDecimal b1 =
new
BigDecimal(d1);
BigDecimal b2 =
new
BigDecimal(d2);
return
b1.divide(b2,len,BigDecimal.
ROUND_HALF_UP).doubleValue();
}
public
static
double
round(
double
d,
int
len) {
// 进行四舍五入
操作
BigDecimal b1 =
new
BigDecimal(d);
BigDecimal b2 =
new
BigDecimal(
1
);
// 任何一个数字除以1都是原数字
// ROUND_HALF_UP是BigDecimal的一个常量,
表示进行四舍五入的操作
return
b1.divide(b2, len,BigDecimal.
ROUND_HALF_UP).doubleValue();
}
}
public
class
BigDecimalDemo01 {
public
static
void
main(String[] args) {
System.out.println(
"加法运算:"
+
MyMath.round(MyMath.add(
10.345
,
3.333
),
1
));
System.out.println(
"乘法运算:"
+
MyMath.round(MyMath.mul(
10.345
,
3.333
),
3
));
System.out.println(
"除法运算:"
+
MyMath.div(
10.345
,
3.333
,
3
));
System.out.println(
"减法运算:"
+
MyMath.round(MyMath.sub(
10.345
,
3.333
),
3
));
}
}
分享到:
相关推荐
此外,为了处理大数运算,程序利用了Java提供的`BigDecimal`类,以提供高精度的浮点数运算。 首先,让我们深入了解算符优先分析法。这是一种解析技术,用于解决计算机语言中的表达式求值问题。在这个计算器中,算符...
alert(new BigDecimal("10").add(new BigDecimal("3E+10"))); //- alert(new BigDecimal("10").subtract(new BigDecimal("3E+10"))); //* alert(new BigDecimal("10").multiply(new BigDecimal("3E+10"))); // / ...
- **BigDecimal**:高精度的浮点数。 - **ThreadLocal**:线程局部变量。 - **ClassLoader**:类加载器。 - **URLClassLoader**:URL类加载器。 - **ArrayList**、**LinkedList**:列表的两种实现。 - **HashMap**、...
js中操作Bigdecimal类,包含所有java中bigdecimal的操作,加减乘除,四舍五入,比较等。
- **浮点运算误差**:Java中的浮点运算存在精度误差,精确计算应使用BigDecimal类。 5. **字符集**: - **字符类型(char)**:采用Unicode字符集,支持各种语言的字符。 6. **Java编程技能**: - **阅读编程...
- **BigInteger**和**BigDecimal**: 处理大整数和高精度浮点数。 #### 13. 日期与时间处理 - **Date类**: 用于表示特定的瞬间,即从1970年1月1日00:00:00 GMT以来的毫秒数。 - **SimpleDateFormat类**: 格式化和...
- **BigInteger**和**BigDecimal**:处理大整数和高精度浮点数。 3. **Java集合框架**: - **Collection**:所有集合的顶级接口,包括List、Set和Queue。 - **List**:有序的、允许重复元素的集合,如ArrayList...
- **precision**:指定精度,对于`decimal`类型,默认为0。 - **scale**:指定小数位数,默认为0。 - **示例**: ```java @Entity public class Employee { @Column(name = "emp_name", length = 50, nullable...
- **BigDecimal变量函数**:对高精度数值类型提供了支持。 - **记录计数器和UNH计数器**:这些计数器帮助跟踪记录的数量,便于统计和错误检测。 - **外部变量和计数器**:用于与其他外部程序交互,扩展了EDI Mapping...
- **类型检查**:由于JavaScript的动态类型特性,确保在进行`BigDecimal`操作前,所有涉及的数值都被转换为`BigDecimal`对象。 - **性能考虑**:虽然`BigDecimal`提供了精确计算,但它的运算速度相比JavaScript原生...
- **类型转换**: Java 支持自动类型转换,例如从较小的数据类型向较大的数据类型转换。 - **初始化**: 变量初始化时,默认情况下不会自动初始化为任何特定值,除非特别指定。 #### 13. 类型转换 - **强制类型转换**...
如果需要更精确的计算,例如金融计算,则应使用`BigDecimal`类,因为浮点数值存在舍入误差。 #### 其他类型 - **`char`**: 占用2个字节,用于存储Unicode字符。由于Unicode扩展性问题,使用`char`类型时需谨慎。 - ...
- **数值计算**:注意浮点数运算的精度问题,必要时使用`BigDecimal`。 - **finalize()**:不推荐使用,垃圾回收机制会自动调用。 - **对象集合**:选择合适的数据结构,如`List`、`Set`、`Map`等,根据需求选择。 -...
在Java编程语言中,BigDecimal是一种用于处理高精度数值的数据类型,尤其适用于金融计算等领域,因为它可以提供不受限的小数位数精度以及精确的数学运算能力。然而,在某些情况下,我们可能需要将BigDecimal类型的值...
BigDecimal是一种可以处理任意精度的十进制浮点数的数据类型,它通常用于金融或会计等需要高精度计算的领域,因为在这些场景中,浮点数的精度丢失可能导致错误的结果。 在计算机科学中,浮点数(如`float`和`double...
- **BigDecimal**:处理高精度的浮点数运算。 - **NumberFormat**:格式化数字输出。 - **String/StringBuffer/StringBuilder**:字符串操作。 - `String`:不可变字符串。 - `StringBuffer`/`StringBuilder`:可...
- **BigDecimal**:Clojure支持`BigDecimal`类型,并提供了精度控制的方法。 - `with-precision`: 设置BigDecimal的操作精度。 #### 十、无检查运算 - **Unchecked**:Clojure提供了无检查运算的支持。 - `*...
- `BigInteger` 和 `BigDecimal` 类用于处理大整数和高精度的浮点数。 - **异常处理**: - **异常分类**:运行时异常(无需显式处理)和检查性异常(必须处理)。 - **异常处理**:通过 `try-catch-finally` 结构...
- **BigInteger和BigDecimal**:用于处理非常大的整数或小数。 - **System**:提供了一些有用的静态方法,如获取系统属性、执行系统命令等。 - **Runtime**:用于访问当前运行时系统。 - **Math**:提供了基本数学...
- **java.math**:提供了高精度的数值计算,如BigInteger和BigDecimal类。 - **java.net**:支持网络编程,包括URL处理、Socket编程等。 - **java.nio**:提供了新的I/O操作方式,如基于通道和缓冲区的非阻塞I/O。 ...