jxl读取excel浮点数据时,小数点后三位截取问题

  今天导入Excel数据时,发现很多浮点数据被自动四舍五入只保留了三位,原来是jxl里对getContents()进行了封装,对数值型数据作了该处理。一般我们会对读取excel的一整套流程作为工具类,那么在读取单元格数据时,应该将数据分成三类(一般情况):日期,数值,普通字符串。最后统一转换成字符串类型。

如果是日期类型,可以使用DateCell对象提供的方法:

SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
Cell cell = sheet.getCell(j, i);DateCell dateCell = (DateCell) cell;
String date = sdf.format(dateCell.getDate());

  如果是数值类型,可以使用NumberCell对象提供的方法:

Cell cell = sheet.getCell(j, i);NumberCell numberCell = (NumberCell)cell;
Double numberValue = numberCell.getValue();
String number = numberValue.toString();
时间: 2024-11-10 15:56:04

jxl读取excel浮点数据时,小数点后三位截取问题的相关文章

VC6.0读取Excel文件数据

啰嗦一下:本人所在公司从事碟式斯特林太阳能发电设备的研发与销售.单台设备图如下: 工作原理如下:整个设备大致可分为五个部分, 1.服务器,负责气象.发电等数据存取,电.网连接等处理: 2.气象站,通过光感应器实时获取气象数据,传送至服务器 3.碟型镜面,反射阳光热量,均匀聚焦到350mm直径的圆形范围内--发动机热头大小: 4.斯特林发动机,吸收镜面反射热量,通过内部气体膨胀.收缩带动发动机发电: 5.通信线,连接系统各个部分,使其运行正常. 对于这样一台设备,要使其高效发电,出气象条件要好之外

C#保留小数点后几位

String.Format("{0:N1}", a) 保留小数点后一位 String.Format("{0:N2}", a) 保留小数点后两位 String.Format("{0:N3}", a) 保留小数点后三位 C#保留小数位N位四舍五入 double s=0.55555; result=s.ToString("#0.00");//点后面几个0就保留几位 C#保留小数位N位四舍五入 double dbdata = 0.55

利用jxl读取excel合并的单元格的一个小例子

工作中我们可能要把Excel文件的记录保存到数据库, 今天我用jxl读取Excel文件时遇到了合并格的问题,记录如下: 如Excel文件如下: 读取出来的记录为: 由上图可以看出,合并的单元格只有第一次输出了,这样的话,在保存数据 到数据库时就会有数据遗漏,所以做了一定的改造,代码如下: package temp; import java.io.File; import java.io.IOException; import jxl.Range; import jxl.Sheet; import

Java中double类型的数据精确到小数点后两位

Java中double类型的数据精确到小数点后两位 多余位四舍五入,四种方法 一: double f = 111231.5585;BigDecimal b = new BigDecimal(f); double f1 = b.setScale(2,BigDecimal.ROUND_HALF_UP).doubleValue(); 二: new java.text.DecimalFormat("#.00").format(3.1415926) 三: double d = 3.1415926

(Jquery)避免数据相加小数点后产生多位数和计算精度损失

/** * 加法运算,避免数据相加小数点后产生多位数和计算精度损失. * * @param num1加数1 | num2加数2 */ function numAdd(num1, num2) { var baseNum, baseNum1, baseNum2; try { baseNum1 = num1.toString().split(".")[1].length; } catch (e) { baseNum1 = 0; } try { baseNum2 = num2.toString

【java】java处理随机浮点数(小数点后两位)用RMB的大写数值规则输出

晚上上床前,拿到这个有意思的问题,就想玩弄一番: ============================================================================ 规则:[随机浮点数按照RMB读法写出] 总代码如下: package com.sxd.test; import org.junit.Test; import java.text.DecimalFormat; import java.util.Random; /** * @Author SXD *

对数值数据的格式化处理(保留小数点后N位)

项目中有时会遇到对数值部分进行保留操作,列如保留小数点后2位,所有的数据都按这种格式处理, //保留小数点后2位,都按这种格式处理,没有补0 DecimalFormat df = new DecimalFormat("0.00"); //没有小数,或者小数部分不足是用0来补 BigDecimal db1 = new BigDecimal(111); System.out.println(df.format(db1)); //下面比较奇怪,不论是字符串表示,还是数字表示,只要没有大于11

js保留小数点后N位的方法介绍

利用toFixed函数 代码如下 复制代码 <script language="javascript"> document.write("<h1>JS保留两位小数例子</h1><br>"); var a=2.1512131231231321; document.write("原来的值:"+a+"<br>"); document.write("两位小数点:&q

限制输入,输入金额 和保留小数点后两位

//判断是否是浮点类型 + (BOOL)isPureFloat:(NSString*)string { NSScanner* scan = [NSScanner scannerWithString:string]; float val; return [scan scanFloat:&val] && [scan isAtEnd];} //在textFiled中限制输入位数 if ([string isEqualToString:@""]) { return YE