java读取excel导入数字有小数点 java 读取excel整数变成小数_mysql四舍五入保留两位小数


写在前面

在 Excel 中限制小数位数,是经常会遇到的情况。最常见的,就是货币,最小单位是1分钱,不能再小了。

经过一系列计算,最后算出来的数值,可能是一个有很多位小数的数字,这个时候保留一定位数后,可能会出现 1 加 1 不等于 2 的情况。比如 0.003 + 0.004 = 0.007,在都保留两位小数后再看,就成了 0.00 + 0.00 = 0.01。相信很多财务、审计人员都遇到过。

解决方案,就是在适当的时候保留适当位数的小数。所谓适当的时候,并不一定就是在最开始或者在最后一步,而是要视不同的情况而定。因为大家都知道,太早的位数取舍,可能最终结果会出现较大的偏差,正所谓“失之毫厘谬以千里”;而有的时候中间过程的结果也需要体现,那就需要早一点取舍小数了。我的经验,如果计算的是货币或者其他有最小精度的数据,那就让每一步都不能出现小数位数超出最小精度的情况,否则就在最后做位数取舍。

Excel 里的 Round 函数

在 Excel 里,保留一定位数小数的公式是 RoundROUND 函数将数字四舍五入到指定的位数。


=Round(number, num_digits)


number 必需。要四舍五入的数字。num_digits

备注:

  • 如果 num_digits 大于 0(零),则将数字四舍五入到指定的小数位数。
  • 如果 num_digits 等于 0,则将数字四舍五入到最接近的整数。
  • 如果 num_digits 小于 0,则将数字四舍五入到小数点左边的相应位数。
  • 若要始终进行向上舍入(远离 0),请使用 ROUNDUP 函数。
  • 若要始终进行向下舍入(朝向 0),请使用 ROUNDDOWN 函数。
  • 若要将某个数字四舍五入为指定的倍数(例如,四舍五入为最接近的 0.5 倍),请使用 MROUND 函数。

这个函数使用起来很简单。比如 A1 单元格的数值是 23.7825,我们想要将此数值舍入到两个小数位数,可以使用以下公式:


=ROUND(A1, 2)


此函数的结果为 23.78

用起来很简单,是不是?

扩展

每次使用,都要输入 =Round( , ),效率不高。我们希望的是,点选一个单元格或者单元格区域,再点一下鼠标,这些单元格的数字就保留了固定的小数位数。这才符合我们高效的要求。

因此,我们要在功能区添加一个选项卡,在里面添加一个自定义的功能,就像这样:

具体实现过程,我们将在下次讲解。包括创建自定义的功能,也包括将 Excel 已有功能组合到一个选项卡,以方便我们使用。

好了,下次见。