Jdcbean 中
double jdc_value;setJdc_value(double jdc_value);
getJdc_value();-----------------------
web页面String jdc_value = request.getParameter("jdc_value");JDCAction ja = new JDCAction ();
System.out.println(Double.parseDouble(jdc_value)); // 打印结果 53654545e9
ja.setJdc_value(Double.parseDouble(jdc_value)) //格式化错误。
-------------------------------------------------------
问题:1 数据库ORACLE number类型。
2 怎么才能把正确的值保存到数据库中,而丢失小数点 我可以用js控制小数为数3位。整数为10位。但是保存到数据库的数据要么丢失精度,要么不能保存怎么办?
double jdc_value;setJdc_value(double jdc_value);
getJdc_value();-----------------------
web页面String jdc_value = request.getParameter("jdc_value");JDCAction ja = new JDCAction ();
System.out.println(Double.parseDouble(jdc_value)); // 打印结果 53654545e9
ja.setJdc_value(Double.parseDouble(jdc_value)) //格式化错误。
-------------------------------------------------------
问题:1 数据库ORACLE number类型。
2 怎么才能把正确的值保存到数据库中,而丢失小数点 我可以用js控制小数为数3位。整数为10位。但是保存到数据库的数据要么丢失精度,要么不能保存怎么办?
解决方案 »
- java 初学都,看那套教程或书籍好些。
- 一个长度为10000的字符串,写一个算法,找出最长的重复子串,如abczzacbca,结果是bc
- 为什么使用proguard对一个jar包进行混淆,类中的变量没有混淆呢?
- 求几个在方法,可以在jsp页面上显示查询到的结果?
- ssh连接多个数据库
- Hibernate 中怎么用left join 啊?
- 要查询的数据分页丢失了,不分页的时候显示没问题
- 如何用java将页面内容导出为word格式?
- oracle下载安装问题
- struts+jdbc中文乱码问题!
- oracle里面的date如何换爽成java的时间...
- spring jpa 无法删除对象Removing a detached instance
例如如果是123.123
那么System.out.println(Double.parseDouble(jdc_value)); 应该输出123.123
我表单的数据是一个很大的数据:65345445646436.3273
Double.parseDouble(jdc_value)之后,数据精度就丢失了。变成如: 6.53445e14
我不要这个结果,我想将数据原样保存到数据库中。
不管我怎么创建format对象,怎么格式化,格式化对象返回的是String类型。
我还是没办法把,正确的格式保存到bean中,bean 也就没办法保存到数据库中。
另外有一个问题是:bean 是通过反射自动保存到数据库中的,我不能在bean之后做任何操作。
String v = nf.format(4542645.5454344);
String str = "65345445646436.3273";
double d = Double.parseDouble(str);
System.out.println(d);
System.out.println(new DecimalFormat("#.00000").format(d));已经是打印出
6.534544564643633E13
65345445646436.33000
如果你的数据库支持这么高精度的,你可以改用BigDecimal
用这个数据类型。
String v = "254354665.456" //电压值 一千万以内,小数2位以内。问题在于:我的bean 中的Jdc_value 是double 类型。
JDCAction ja = new JDCAction ();
ja.setJdc_value(Double.parseDouble(jdc_value)) // 格式化错误或者丢失精度
java.math.BigDecimal bd = new java.math.BigDecimal(jdc_value);
System.out.println("bd=" + bd);否则其他用法都会丢失精度,解析错误,会不会是
String jdc_value = request.getParameter("jdc_value");
取到的字符串不是纯数字组成的,有其他字符啊