编写Java程序实现精确的小数类,完成小数的乘法运算。
时间: 2024-09-27 18:09:10 浏览: 54
在Java中,编写一个精确的小数类通常会利用`BigDecimal`类,因为`double`和`float`类型存在精度丢失的问题。下面是一个简单的示例,展示如何创建一个名为`PrecisionDecimal`的类,它包含一个`BigDecimal`实例,并实现了乘法运算:
```java
import java.math.BigDecimal;
public class PrecisionDecimal {
private BigDecimal decimalValue;
// 构造函数,接受Double类型的值并转换为BigDecimal
public PrecisionDecimal(double value) {
this.decimalValue = new BigDecimal(value);
}
// 封装乘法操作,保持精确度
public PrecisionDecimal multiply(PrecisionDecimal other) {
return new PrecisionDecimal(this.decimalValue.multiply(other.decimalValue));
}
// 返回字符串形式的值
@Override
public String toString() {
return decimalValue.toPlainString();
}
// 主函数用于演示
public static void main(String[] args) {
PrecisionDecimal num1 = new PrecisionDecimal(10.5);
PrecisionDecimal num2 = new PrecisionDecimal(4.7);
PrecisionDecimal result = num1.multiply(num2);
System.out.println("Multiplication: " + result);
}
}
```
在这个例子中,`multiply()`方法接收另一个`PrecisionDecimal`作为参数,通过`multiply()`方法实现两个小数值的精确相乘。注意,`toString()`方法用于展示结果。
阅读全文