Java中,字符串转定点数
时间: 2024-01-28 14:05:17 浏览: 75
可以使用BigDecimal类来实现字符串转定点数。
首先,需要创建一个BigDecimal对象,将字符串传入构造函数中,例如:
```java
String str = "123.456";
BigDecimal bigDecimal = new BigDecimal(str);
```
然后,可以使用setScale()方法来设置小数点后的位数,例如:
```java
BigDecimal result = bigDecimal.setScale(2, RoundingMode.HALF_UP);
```
其中,第一个参数表示要保留的小数点后的位数,第二个参数表示采用的舍入模式。
最后,将BigDecimal对象转换成double类型或者long类型即可,例如:
```java
double doubleResult = result.doubleValue();
long longResult = result.longValue();
```
完整代码示例:
```java
import java.math.BigDecimal;
import java.math.RoundingMode;
public class Main {
public static void main(String[] args) {
String str = "123.456";
BigDecimal bigDecimal = new BigDecimal(str);
BigDecimal result = bigDecimal.setScale(2, RoundingMode.HALF_UP);
double doubleResult = result.doubleValue();
long longResult = result.longValue();
System.out.println("原始字符串:" + str);
System.out.println("转换结果:" + result);
System.out.println("转换为double类型:" + doubleResult);
System.out.println("转换为long类型:" + longResult);
}
}
```
输出结果:
```
原始字符串:123.456
转换结果:123.46
转换为double类型:123.46
转换为long类型:123
```
阅读全文