javascript小数相减会出现一长串的小数位数的原因 <script> var a='38.8'; var b='6.8'; alert(parseFloat(a)-parseFloat(b)); var a=134.22; var b=6; alert(a*b); </script> 以上代码为什么产生一长串小数位出来,虽然比较精确,可没必要呀. 这个和数据结构有关系,整数型自动转换成正型计算,小数型直接转成double型计算.这是在内存中运算的时候必须这样,你该
select ltrim('124532.62879'-floor('124532.62879'),'0.') from dual;select length(66695) from dual; 这两条SQL结合起来,就可以查询出小数点后边部分的小数位数.在Oracle中很经典,也很实用! 下面这个做法也还是经典(推荐使用): 比如有一张表的某字段是 number(10,4)的,但是大多数是3位小数,如何把是4位小数的结果查询出来: select * from tables where (col
js的加减乘除有时得到的结果的小数的位数非常大,这种结果非常难以读取,例如某两个数相乘得到的结果是:1.3921000000000001 这种结果小数的位数有点多,一般需要的结果是四舍无入的 1.39,使用toFixed()函数可以四舍无入:(1.3921000000000001).toFixed(2)得到的结果就是1.39,toFixed()括号的参数就是小数位数. 下面是一些实例代码: <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Trans
前言 看标题是不是觉得这是一个很简单的问题,我一开始也是这么认为的,但是实际情况下,在各种情况下我们都进行了测试,发现很多实际情况是无法不尽如人意的. 方法分析 当前能想到的比较容易有下面几种 1.直接使用double处理 2.将double转换成String进行处理 方法一:直接对double进行处理,进行计算通过计算后的结果进行取模操作获取小数位数,如下: public static int getNumberDecimalDigits(double number) { if (number