mybatisplus查询BigDec小数位0E-8
时间: 2023-10-03 21:05:16 浏览: 157
在Mybatis Plus查询中,如果你的BigDec小数位显示为0E-8,可能是因为你的查询结果被转换成了科学计数法。为了解决这个问题,你可以使用Java的DecimalFormat类来格式化查询结果,以确保小数位不会显示为科学计数法。下面是一个示例代码:
```java
DecimalFormat decimalFormat = new DecimalFormat("#0.0000");
String formattedResult = decimalFormat.format(yourQueryResult);
```
这样,你就可以得到不带科学计数法的小数位。
相关问题
mybatisplus3.5.3查询保留两位小数
在MybatisPlus中查询保留两位小数,可以使用MybatisPlus的Wrapper类的lambda表达式来实现。具体步骤如下:
1.在实体类中定义需要查询的字段,并使用@TableField注解指定该字段对应的数据库列名。
2.使用Wrapper类的lambda表达式构造查询条件,并使用select方法指定需要查询的字段。
3.使用MybatisPlus的baseMapper的selectList方法执行查询,并将查询结果转换为需要的类型。
以下是一个示例代码:
```python
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.List;
@Service
public class ProductService {
@Autowired
private ProductMapper productMapper;
public List<Product> queryProductList() {
LambdaQueryWrapper<Product> wrapper = Wrappers.lambdaQuery();
wrapper.select(Product::getId, Product::getName, Product::getPrice);
List<Product> productList = productMapper.selectList(wrapper);
for (Product product : productList) {
BigDecimal price = product.getPrice();
product.setPrice(price.setScale(2, BigDecimal.ROUND_HALF_UP));
}
return productList;
}
}
```
在上述代码中,我们使用LambdaQueryWrapper构造查询条件,并使用select方法指定需要查询的字段。在查询结果中,我们对价格字段进行了保留两位小数的处理。
bigdecimal 0e-8怎么解决
BigDecimal 0e-8 表示一个科学计数法的小数,其中 0e-8 表示的是小数点向左移动 8 位,因此其值应该为 0。
如果你想在使用 BigDecimal 时避免出现类似的问题,可以在构造 BigDecimal 对象时,传入字符串类型的参数,而不是直接传入数字类型的参数。例如:
```
BigDecimal bd = new BigDecimal("0.00000000");
```
这样就可以确保 BigDecimal 对象的值是正确的了。