我有一个类如下,用于使用marshaller生成XML
我有一个带有126个字节的Database float列,用于存储大数值
例如:薪水FLOAT(126)
在课堂上我有如下的映射
@NamedQuery(name = "example", query = "SELECT test FROM example test WHERE (test.xmlGenerate IS NULL OR NOT test.xmlGenerate = 'Y')")
public class Example {
@Column(name = "SALARY")
private String monthlySalary;
}
为类中的薪水生成getter和setter
然后我将使用JAXB marshaller使用下面的代码生成xml
JAXBContext context = JAXBContext.newInstance(Example.getClass());
Marshaller m = context.createMarshaller();
m.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT, Boolean.TRUE);
m.marshal(object, writer);
现在我的问题是,如果工资超过8位数,它将以指数形式生成 示例:110016400至1.100164E8 请建议我如何避免指数形式,因为我已经使用字符串代替双列或长列,以便它不会转换为指数形式,即使它已转换为指数形式。请在此建议避免指数形式。
答案 0 :(得分:0)
使用它 从DB中检索值为double,比如说
public double getSalary() {
return salary;
}
Convert it to String
BigDecimal.valueOf(getSalary()).toPlainString();