`

javascript parseFloat()函数精度不一样的问题

阅读更多

parseFloat() 函数可解析一个字符串,并返回一个浮点数。

它的语法是:parseFloat(string);

注释:只有字符串中的第一个数字会被返回,开头和结尾的空格是允许的。

提示:如果字符串的第一个字符不能被转换为数字,那么 parseFloat() 会返回 NaN,如果只想解析数字的整数部分,请使用 parseInt() 方法。

示例:

复制代码
<script type="text/javascript">
 document.write(parseFloat("10")) ;
 document.write(parseFloat("10.00")) ;
 document.write(parseFloat("10.33")) ;
 document.write(parseFloat("34 45 66")) ;
 document.write(parseFloat(" 60 ")) ;
 document.write(parseFloat("40 years"));
 document.write(parseFloat("He was 40"));
 </script>
复制代码

结果:

复制代码
 10
 10
 10.33
 34
 60
 40
 NaN
复制代码

以上是parseFloat() 函数的一个简介。

下面来分享下遇到的问题,先上一个简单的例子吧:

复制代码
例子:

var num=parseFloat("234432.9")-parseFloat"0.2");
alert(num);

结果是:

234432.69999999998
复制代码

很明显,这个结果不是我们想要的那个结果。

为啥会出现这个问题,说实话,我也不太清楚。但是依靠度娘我解决了这个问题所以先把解决方法分享给大家!

复制代码
第一种:四舍五入
Math.round(parseFloat("234432.9")-parseFloat"0.2")); 
第二种:保留几位小数
num.toFixed(
2); toFixed(n)中的n代表保留几位

第三种:扩大一定的倍数,对结果在缩小这个倍数
var num1=parseFloat("234432.9")*1000000000000;
var num2=parseFloat("0.2")*1000000000000;
var num3=(num1-num2)/1000000000000;
结果为 234432.7
复制代码
分享到:
评论

相关推荐

    javascript的parseFloat()方法精度问题探讨

    在Javascript中parseFloat()方法会产生精度问题 代码如下: [removed] var a = “0.11”; var b = “0.2801”; var c = “1.002”; var sum1 = parseFloat(a) + parseFloat(b) + parseFloat(c); var sum2 = ...

    JavaScript ParseFloat()方法

    parseFloat()方法可以解析一个字符串,并返回一个浮点数。本文给大家分享javascript parsefloat()方法的相关知识,对javascript parsefloat相关知识感兴趣的朋友一起学习吧

    javascript函数的解释

    javascript函数的解释,解释了具体函数的功能,一、函数JavaScript函数集合 1.document.write(""); 输出语句 2.JS中的注释为// 3.传统的HTML文档顺序是:document-&gt;html-&gt;(head,body) 4.一个浏览器窗口中的DOM顺序是:...

    javascript函数大全

    javascript函数大全 91.document.write()不换行的输出,document.writeln()换行输出 92.document.body.noWrap=true;防止链接文字折行. 93.变量名.charAt(第几位),取该变量的第几位的字符. 94."abc"....

    JavaScript 常用函数

    javascript函数一共可分为五类: ·常规函数 ·数组函数 ·日期函数 ·数学函数 ·字符串函数 1.常规函数 javascript常规函数包括以下9个函数: (1)alert函数:显示一个警告对话框,包括一个OK按钮。 (2)confirm函数...

    深入理解JavaScript内置函数

    javascript函数一共可分为五类: · 常规函数 · 数组函数 · 日期函数 · 数学函数 · 字符串函数 1.常规函数 javascript常规函数包括以下9个函数: (1)alert函数:显示一个警告对话框,包括一个OK按钮。 (2)...

    详解JS转换数值函数Number()、parseInt()、parseFloat()

    JS中有三种函数可以将非数值转换成数值:Number()、parseInt()和parseFloat()。接下来通过本文详细的给大家介绍JS转换数值函数Number()、parseInt()、parseFloat()的实例代码,感兴趣的朋友一起看看吧

    JavaScript程序设计课件:函数的定义方式.pptx

    JavaScript程序设计 函数的定义方式 5.2.1 函数的定义方式 概念 函数:用于封装一段完成特定功能的代码。 相当于将一条或多条语句组成的代码块包裹起来,...除了使用内置函数外,JavaScript中还可以根据具体情况自定义

    js parsefloat parseint 转换函数

    js parsefloat parseint JavaScript提供了3个显式的类型转换函数,分别是eval&#40;&#41;、parseInt()和parseFloat()。 eval&#40;&#41;函数:将字符串表达式转换成数字值。例如,语句total=eval&#40;“432.1*10”&#41...

    javascript 数据类型转换(parseInt,parseFloat)

    javascript有两种数据类型的转换方法: (一)将整个值从一种类型转换为另一种数据类型(称作基本数据类型转换) (二)从一个值中提取另一种类型的值,并完成转换工作 基本数据类型转换的三种方法: 1.转换为字符...

    JavaScript详解(第2版)

     5.3.2 parseFloat()函数   5.3.3 eval&#40;&#41;函数   5.4 特殊运算符   5.5 应知应会   练习   第6章 条件选择   6.1 控制结构、块及复合语句   6.2 条件   6.2.1 if/else   6.2.2 ...

    01 JavaScript基本语法.ppt

    parseInt() 和 parseFloat() 函数将字符串分别转换为整型和小数 运算符号分为算术运算符、比较运算符、逻辑运算符 分支结构 条件语句分为if语句,if-else语句、if的嵌套 多分支语句switch根据表达式的值,进入不同的...

    JavaScript学习笔记讲解

    目 录 第 1 章 JAVASCRIPT的语法 1 ...1.6 JS中的系统函数(它们都属于GLOBAL对象的方法,可以直接使用) 9 1.6.1 parseInt(numString,[radix])方法 9 1.6.2 parseFloat方法 9 1.6.3 isNaN方法 9 1

    JavaScript语言参考手册

    本章包含了所有 JavaScript 中未与任何对象关联的函数。 addClient addResponseHeader blob callC debug deleteResponseHeader escape eval flush getOptionValue getOptionValueCount isNaN Number parseFloat ...

    js 对小数加法精度处理示例说明

    //加法函数,用来得到精确的加法结果 //说明:javascript的加法结果会有误差,在两个浮点数相加的时候会比较明显。这个函数返回较为精确的加法结果。 //调用:accAdd(arg1,arg2) //返回值:arg1加上arg2的精确结果 ...

    普通简洁计算器js

    // 4、定义计算函数 jisuan(),将提取过来的数字字符串转化为数值,并做出相对应的计算, 无参,无返。 function jisuan(){ var num1 = parseFloat(zuobian); var num2 = parseFloat(youbian); ...

    20200424 基于JavaScript Number类型 Number() 、 parseInt() 和 parseFloat() 的转换规则.zip

    基于JavaScript Number类型 Number() 、 parseInt() 和 parseFloat() 的转换规则的思维导图

Global site tag (gtag.js) - Google Analytics