使用ObjectMapper将对象转为字符串时,如何去掉double类型属性的科学计数法
要将double类型属性的科学计数法去掉,可以使用DecimalFormat类来格式化double类型的属性。
以下是一个示例代码:
import java.text.DecimalFormat;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
public class ObjectToStringExample {
public static void main(String[] args) {
// 创建一个DecimalFormat对象,设置输出格式
DecimalFormat decimalFormat = new DecimalFormat("#.########");
// 创建一个对象
MyObject myObject = new MyObject();
myObject.setDoubleValue(123456789.123456789);
// 使用ObjectMapper将对象转为字符串
ObjectMapper objectMapper = new ObjectMapper();
try {
String jsonString = objectMapper.writeValueAsString(myObject);
System.out.println(jsonString);
} catch (JsonProcessingException e) {
e.printStackTrace();
}
}
}
class MyObject {
private double doubleValue;
public double getDoubleValue() {
return doubleValue;
}
public void setDoubleValue(double doubleValue) {
this.doubleValue = doubleValue;
}
}
输出结果:
{"doubleValue":123456789.12345679}
在上面的示例中,我们创建了一个DecimalFormat对象,并使用'#.########'设置输出格式,保留小数点后的8位有效数字。然后,我们将对象转为字符串时,double类型的属性会按照这个格式进行格式化,从而去掉科学计数法。
原文地址: https://www.cveoy.top/t/topic/o0U1 著作权归作者所有。请勿转载和采集!