Excel取数格式问题

qiming2021 2016-07-08 04:22:30
原Excel的数据比如C列是计算出来的,C=A/B

假设C列的实际值是:9.48999999999999

保留2位后显示值是:9.49

C#通过connStr = "Provider=Microsoft.ACE.OLEDB.12.0;" + "Data Source=" + fileName + ";" + ";Extended Properties=\"Excel 12.0;HDR=YES;IMEX=1\"";

这种来获取数据时,取到的值是实际值:9.48999999999999,不是显示值:9.49。

这要怎么处理?

注:保留几位小位不是固定的,有可能是保留1位,有可能保留2位等等,只是想要的结果是,显示什么就取到什么。
...全文
172 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
qiming2021 2016-07-13
  • 打赏
  • 举报
回复
用Aspose.Cells解决了
qiming2021 2016-07-12
  • 打赏
  • 举报
回复
楼上的暂时还不是我想要的结果,因为我根本不知道这份Excel里要保留几位小数,它有可能保留一位,也可能不保留,我只是想让取出Excel里显示什么数就是什么数,
南天空 2016-07-08
  • 打赏
  • 举报
回复
给个例子 Double dValue = 95.12345; int iValue = 10000; string strValue = "95.12345"; string result = ""; result = Convert.ToDouble(dValue).ToString("0.00");//保留小数点后两位,结果为95.12 result = Convert.ToDouble(iValue).ToString("0.00");//10000.00 result = Convert.ToDouble(strValue).ToString("0.00");//95.12 result = Convert.ToDouble(dValue).ToString("P");//得到小数点后2位的百分比,自动 加上%号;//9512.35% result = Convert.ToDouble(strValue).ToString("f4");//保留小数点后4位; //95.1235 //要注意的一点是 Convert.ToDouble一定要是这种双精度的,不然会报错。 还可以用Math函数中的round取药保留的位数。

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧