java 两个相除,小数大于0就进一
时间: 2024-09-30 10:06:48 浏览: 38
在Java中,如果你需要执行的是“两个数相除,如果余数大于0,则结果加1”的规则,这通常是模拟了向上取整的操作,即对商进行加1,而不是直接对原始数值进行数学运算。下面是一个简单的示例,使用`java.util.BigDecimal`类来保证精度并进行判断:
```java
import java.math.BigDecimal;
public class Main {
public static void main(String[] args) {
BigDecimal num1 = new BigDecimal("10.5");
BigDecimal num2 = new BigDecimal("3");
BigDecimal quotient = num1.divide(num2, RoundingMode.CEILING);
System.out.println("Quotient with rounding up: " + quotient);
if (quotient.compareTo(num1.divide(num2)) > 0) {
System.out.println("Since there was a remainder and it's greater than zero, we add one: " + (quotient.add(BigDecimal.ONE)));
}
}
}
```
在这个例子中,`RoundingMode.CEILING`会使得结果总是向0上方取整。如果余数确实大于0,那么`compareTo`方法会返回正数,表明结果比原商大,因此我们可以再加1。
阅读全文