Java输入一个浮点数,把整数小数分开输出
时间: 2024-10-16 22:18:28 浏览: 38
在Java中,如果你想要将输入的浮点数拆分成整数部分和小数部分,可以使用`java.util.Scanner`类配合`BigDecimal`类来实现,因为`Scanner`读取的是字符串,然后通过`BigDecimal`来进行精确的数学运算。
以下是一个简单的示例:
```java
import java.math.BigDecimal;
import java.math.RoundingMode;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
System.out.print("请输入一个浮点数: ");
String input = scanner.nextLine();
// 将输入的字符串转换成BigDecimal对象,以便处理小数
BigDecimal decimal = new BigDecimal(input);
// 提取整数部分
int integerPart = decimal.stripTrailingZeros().toBigInteger().intValueExact();
// 提取小数部分
BigDecimal fractionPart = decimal.subtract(new BigDecimal(integerPart));
// 如果需要四舍五入到特定位数的小数,可以添加RoundingMode
fractionPart = fractionPart.setScale(2, RoundingMode.HALF_UP); // 保留两位小数
System.out.println("整数部分: " + integerPart);
System.out.println("小数部分: " + fractionPart);
}
}
```
当你运行这个程序并输入一个浮点数时,它会将其拆分为整数和小数部分分别输出。注意,`stripTrailingZeros()`用于移除多余的零,`setScale()`则用于设置小数位数。
阅读全文