JavaScript小数相减为何会衍生出如此冗长的小数位数?
- 内容介绍
- 文章标签
- 相关推荐
本文共计1163个文字,预计阅读时间需要5分钟。
原因:整数类型会自动转换成整型来计算,小数则直接转换成double型进行计算;而double型需要精确到小数点后15位,因为JavaScript中小数相减可能会出现长串的小数位。本教程操作环境:Windows
原因:整数型会自动转换成整型来计算,小数则直接转成double型进行计算;而double型需要精确到小数点后15位,因而javascript小数相减会出现一长串的小数位数。
本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。
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型计算。这是在内存中运算的时候必须这样,你该知道计算机只认识0和1吧,具体的就是浮点精准度的问题。
本文共计1163个文字,预计阅读时间需要5分钟。
原因:整数类型会自动转换成整型来计算,小数则直接转换成double型进行计算;而double型需要精确到小数点后15位,因为JavaScript中小数相减可能会出现长串的小数位。本教程操作环境:Windows
原因:整数型会自动转换成整型来计算,小数则直接转成double型进行计算;而double型需要精确到小数点后15位,因而javascript小数相减会出现一长串的小数位数。
本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。
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型计算。这是在内存中运算的时候必须这样,你该知道计算机只认识0和1吧,具体的就是浮点精准度的问题。

