BigDecimal类型的7.485449E+7变成BigDecimal类型的75000000
时间: 2023-08-03 20:32:37 浏览: 51
你可以使用 BigDecimal 的 `toPlainString()` 方法将科学计数法转换为普通的十进制表示法。然后,你可以使用 BigDecimal 的 `BigDecimal(String val)` 构造函数将这个字符串表示形式的数字转换为一个新的 BigDecimal 对象。
以下是一个示例代码:
```
BigDecimal bd1 = new BigDecimal("7.485449E+7");
String plainString = bd1.toPlainString();
BigDecimal bd2 = new BigDecimal(plainString);
System.out.println(bd2);
```
输出结果为:"74854490"。这个代码将科学计数法 "7.485449E+7" 转换为普通十进制表示法 "74854490",然后使用 `BigDecimal(String val)` 构造函数将其转换为一个新的 BigDecimal 对象。这个新的 BigDecimal 对象就是以普通的十进制表示法存储的,而不是科学计数法。
相关问题
7.485449E+7变成75000000
你可以使用 BigDecimal 的 `toPlainString()` 方法将科学计数法转换为普通的十进制表示法。然后,你可以将这个字符串表示形式的数字转换为 long 类型或 int 类型等整数类型。
以下是一个示例代码:
```
BigDecimal bd = new BigDecimal("7.485449E+7");
long num = Long.parseLong(bd.toPlainString());
System.out.println(num);
```
输出结果为:"74854490"。这个代码将科学计数法 "7.485449E+7" 转换为普通十进制表示法 "74854490",然后将其转换为 long 类型的数字。如果你希望将其转换为 int 类型,可以使用 `Integer.parseInt()` 方法代替 `Long.parseLong()` 方法。
1!+ 2!+3!+...+ 20!java
1!+2!+3!+...+20!的结果是多少?
由于20!的值非常大,我们可以使用Java中的BigDecimal类来进行精确计算。下面是代码实现:
```
import java.math.BigDecimal;
public class FactorialSum {
public static void main(String[] args) {
BigDecimal sum = new BigDecimal(0);
BigDecimal factorial = new BigDecimal(1);
for (int i = 1; i <= 20; i++) {
factorial = factorial.multiply(new BigDecimal(i));
sum = sum.add(factorial);
}
System.out.println("1!+2!+3!+...+20!=" + sum);
}
}
```
运行结果为:1!+2!+3!+...+20!=2561327494111820313