toFixed() 方法可把 Number 四舍五入为指定小数位数的数字。

问题:部分特殊数值使用toFixed() 方法会出现转换不正确的情况,举个例子:

(3329.225).toFixed(2) = "3329.22";   //正常应该是“3329.23”

变化数值位数得到的小数也不稳定:

 

解决:使用Math.round(x)来进行数值转换

1. Math.round(x)中round() 方法可把一个数字舍入为最接近的整数。比如0.5 将舍入为 1,而 -0.5 将舍入为 0

2. 对需要保留小数的转换,公式为:Math.round( 3329.225 * Math.pow(10,2) )  /  Math.pow(10,2); ( 3329.225表示要处理的数值,2表示要保留的小数位数)

3. 回到上面的例子,使用Math.round( )转换后就获取正常的四舍五入的值了:

其中 Math.pow(10,2) = 100;

Js中toFixed()方法保留小数不精准的问题的更多相关文章

  1. JS中toFixed()方法的问题及解决方案

    最近发现JS当中toFixed()方法存在一些问题,采用原生的Number对象的原型对象上的toFixed()方法时,规则并不是所谓的“四舍五入”或者是“四舍六入五成双”,所谓“四舍六入五成双”,在百 ...

  2. js中toFixed()函数出现小数点后的多位数的原因

    不演示示例了. 强调一点就是:toFixed()返回的str类型,所以如果想写成百分之多少的情况下,建议直接在分子上乘100后,在除以总和,再使用toFixed()函数保留几位小数.不然会出现如下:7 ...

  3. java中double变量保留小数问题

    (转载自玄影池扁舟) 做java项目的时候可能经常会遇到double类型变量保留小数的问题,下面便把我的经验做个简短的总结: java中double类型变量保留小数问题大体分两种情况: (一):小数点 ...

  4. 【转载】JS中bind方法与函数柯里化

    原生bind方法 不同于jQuery中的bind方法只是简单的绑定事件函数,原生js中bind()方法略复杂,该方法上在ES5中被引入,大概就是IE9+等现代浏览器都支持了(有关ES5各项特性的支持情 ...

  5. 原生JS中apply()方法的一个值得注意的用法

    今天在学习vue.js的render时,遇到需要重复构造多个同类型对象的问题,在这里发现原生JS中apply()方法的一个特殊的用法: var ary = Array.apply(null, { &q ...

  6. js中apply方法的使用

    js中apply方法的使用   1.对象的继承,一般的做法是复制:Object.extend prototype.js的实现方式是: Object.extend = function(destinat ...

  7. paip.编程语言方法重载实现的原理及python,php,js中实现方法重载

    paip.编程语言方法重载实现的原理及python,php,js中实现方法重载 有些语言,在方法的重载上,形式上不支持函数重载,但可以通过模拟实现.. 主要原理:根据参数个数进行重载,或者使用默认值 ...

  8. js中settimeout方法加参数

    js中settimeout方法加参数的使用. 简单使用看w3school  里面没有参数调用,  例子: <script type="text/javascript"> ...

  9. js中split()方法得到的数组长度

    js 中split(",")方法通过 ”,“ 分割字符串, 如果字符串中没有 “,” , 返回的是字符串本身 var str = “abc”://分隔符个数为0 var newSt ...

随机推荐

  1. 一本学习HTTP很好的书《图解HTTP》

    网上电子版的一堆(*^__^*) 嘻嘻……

  2. 学习 vue 需要了解的内容

    总结 vue 的目录 1. vue 基础 指令 事件 动态的属性 组件 动画 2. vue 组件通信 1. 父传子 props 2. 子传父 ref 3. 插槽 4. 组件的生命周期 3. vue 的 ...

  3. Mybatis框架学习1:入门

    一框架介绍 1.Mybatis介绍 ​ MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google c ...

  4. Utf8 与 Utf8-BOM 的差异

    1.先说差异,Utf8-BOM编码的字符串比Utf8编码的字符串,多了前缀\xEF\xBF\xBD,肉眼是看不出来的,解析出来的字符串的长度也正常 比如:"123456",Enco ...

  5. 阶段3 3.SpringMVC·_03.SpringMVC常用注解_3 PathVariable注解

    请求地址都一样,根据不同的请求方式,最终让不同的方法去执行.这就是restfull的风格 如果有两个查询都是get的.那么当前访问 满足条件的就是两个. 用一个占位符 {id} 演示PathVaria ...

  6. form modelform formset modelformset的各种用法

    form modelform formset modelformset的各种用法   首先上结论: form适用于对单个表单的操作,并且需要对每个字段的验证规则自定义. modelform:适用于对用 ...

  7. docker上传私有仓库报错

    docker 1.17 版本搭建私有仓库,上传镜像报错:server gave HTTP response to HTTPS client” 系统环境:centos7docker版本:1.17(注意版 ...

  8. Go package(2) strings 用法

    go version go1.10.3 Go中的字符串用法,可以在 godoc.org 上查看语法和用法. 最简单的语法就是获取字符串中的子串 s := "hello world" ...

  9. yum安装etcd集群

       前一篇文章介绍了如何yum安装简单的kubernetes集群,其中etcd是单点部署.本篇我们来搭建etcd集群,方便日后搭建kubernetes HA集群架构. 1,环境配置说明 etcd1 ...

  10. Django学习笔记(二)URL编写规则

    先在根目录以及每个app内添加一个空白的urls.py(此处根目录指项目同名文件夹内).程序收到用户请求时,先在根目录的urls.py查找该URL属于哪个app,再从app的urls.py找到具体的U ...