|
<p>java得到excel中小数完整值</p>
<p><img src="http://img.baidu.com/img/iknow/icn_point.gif"> 悬赏分:10 -</p>
<p>解决时间:2010-7-19 09:31</p>
<p>正在做一个从execl导数据到数据库的程序,要求数据的精确度!</p>
<p>本人用的是jxl读取execl数据的,但是读到的数据只有小数点后三面,再后面的就没有了,小数点后三位数据被自动舍去了!</p>
<p>求能得到完整数据的方法!!!</p>
<p>问题补充:</p>
<p>execl表中的数据很重要,不允许更改,存储数据的格式也是表中固定的,我不能改!</p>
<p>急啊!jxl如何得到单元格的完整值!</p>
<p>其他方法也可以!</p>
<p>提问者: xiaxue725 - 三级</p>
<p>最佳答案</p>
<p>Excel可以保存成CSV吗?</p>
<p>那样的话,就用普通普通文本的读法,</p>
<p>读取一行,然后split()就可以了。</p>
<p>String str = sheet.getCell(j, i).getContents();</p>
<p>BigDecimal number = new BigDecimal(str);</p>
<p>首先试试这个,不要用double或float,要用BigDecimal</p>
<p>如果还是不行,第一行出来的str就丢失细节的话。</p>
<p>那要么把Excel的格的格式弄成文本,如果这个不可以的话,</p>
<p>那就只有另存为CSV了。读CSV的方法:</p>
<p>BufferedReader reader = new BufferedReader(new FileReader(fileName));</p>
<p>reader.readLine();//第一行信息,为标题信息,不用,如果需要,注释掉</p>
<p>String line = null;</p>
<p>while((line=reader.readLine())!=null){</p>
<p>//CSV格式文件为逗号分隔符文件,这里根据逗号切分</p>
<p>String item[] = line.split(",");</p>
<p>try {</p>
<p>//提取</p>
<p>String str = item[0];</p>
<p>BigDecimal number = new BigDecimal(str);</p>
<p>//保存</p>
<p>。。。</p>
<p>} catch (NumberFormatException e) {</p>
<p>e.printStackTrace();</p>
<p>}</p>
<p>}</p>
<p>0</p>
<p>回答者:</p>
<p>tonylian77 - 四级 2010-7-19 09:09</p>
<p>我来评论>></p>
<p>提问者对于答案的评价:</p>
<p>谢谢回答,问题已经解决了,虽然和你的方法不大一样!</p>
<p>同样也谢谢另一位回答者!</p>
|
|