【发布时间】:2014-07-30 01:33:15
【问题描述】:
我想将从网页接收到的双精度值传递给 sqlServer 数据库。 值被包装在一个值对象中。
public class testVO{
Double value;
public Double getValue() {
return value;
}
public void setValue(Double value) {
this.value = value;
}
}
但是我遇到的问题是当值小于0.0001时,会转换成1.0E-4或者其他科学记数法,导致数据库出错。
我找到的方法是使用BigDecimal.valueOf(testVO.getValue())来解析它。
有没有其他更好的解决方法?
已解决: 不是因为科学记数法的问题,数据库可以同时读取数字和科学。问题是我在将其解析为数据库时使用的实用程序包会将所有值转换为字符串类型,希望不要浪费您的时间!
【问题讨论】:
-
0.0001和1.0e-4没有区别。怎么放到数据库里的?
-
我打赌他把它转换成字符串了。
-
哦,我想我明白了! sqlServer 可以同时读取 0.0001 和 1.0e-4,我在将其解析为 sql 字符串时可能会出错。谢谢!
标签: java sql-server double bigdecimal scientific-notation