作为一名前端,大家都应该知道,toFixed()的作用,toFixed()经常用于前台与后台数据格式的转换,套用下w3c上面的定义:    

定义和用法
toFixed(n) 方法可把 Number 四舍五入为指定小数位数的数字。n为保留的小数位数

返回值

typeof (1.0.toFixed())   //string

返回值是string类型的

其实大部分的时候,我们在项目中运用,都是将多位的小数,转化成固定位数的小数,比如

1.000000.toFixed(2)   //"1.00"

但是有的时候 我们需要将整数值转换成小数,如

1.toFixed(2)  //你们知道这个结果是怎么样的吗

这个问题,是我在一次项目中遇到的,当时也没花太多时间,要想解决这个问题,就要深刻理解js引擎的编译原理和过程,已经相关类型值的理解。

其实是这样的,上面的整数化成小数,存在一个隐藏的坑,就是如果直接用整数直接调用toFixed(),比如1.toFixed(),那么讲会出现如下的报错:

原因就是,js引擎在运行的时候,默认将1后面的那个点,认为是小数点,所以1.toFixed()也就相当于 1.0toFixed(),当然报错啊。

其实想到的转化方法有很多:

1、1..toFixed() 这个方法最直接,不是少了一个点么 那就直接在后面添加一个点,这样就相当于1.0.toFixed()

2、可以将1存成一个变量名,用变量调用toFixed() 结果也是想要的

3、由上面的解决方法的引申,可以有另外一个方法,就是用一对()将1和后面的点隔离,那么js引擎在运行的时候,就会将点变成是1这个整体对于toFixed()方法的调用

条条大路通罗马,没有解决不了的问题,将所遇到的小知识点分享出来,与大家共勉。

关于js中 toFixed()的一个小坑的更多相关文章

  1. 微信小程序中scoll-view的一个小坑

    在微信小程序开发中,有时候swiper-view会出现显示不全的问题,我们可以用scoll-view来把它包裹下,但是要用scoll-view就一定要设置height,而我们经常是在页面中加的这个组件 ...

  2. firefox 中碰到的一个小坑

    情况描述: 在一个处于正常文档流的div中,里面有一部分文字,还有个有浮动的块, 上代码 HTML: <div class="container">   this is ...

  3. mysql url 连接配置的一个小坑。 工作中不会遇到。 学习的时候会

    <property name="driverClassName"> <value>com.mysql.jdbc.Driver</value> & ...

  4. go的变量redeclare的问题,golang的一个小坑

    go的变量声明有几种方式: 1 通过关键字 var 进行声明 例如:var i int   然后进行赋值操作 i = 5 2 最简单的,通过符号 := 进行声明和赋值 例如: i:=5 golang会 ...

  5. python-django中使用事务以及小坑

    django中使用事务 一.导入事务模块 from django.db import transaction 二.对相应的业务进行事务操作 方式一:为整个函数进行事务操作 @transaction.a ...

  6. [LeetCode]29 两数相除和一个小坑点

    给定两个整数,被除数 dividend 和除数 divisor.将两数相除,要求不使用乘法.除法和 mod 运算符. 返回被除数 dividend 除以除数 divisor 得到的商. 示例 1: 输 ...

  7. 注意Android里TextView控件的一个小坑,用android:theme来设置样式时动态载入的layout会丢失该样式

    注意Android里TextView控件的一个小坑,用android:theme来设置样式时动态载入的layout会丢失该样式 这个坑,必须要注意呀, 比如在用ListView的时候,如果在List_ ...

  8. 关于sniff函数的一个小坑

    最近在用scapy模块写一个关于WiFi的脚本时用到sniff函数,其中遇到了一个小坑,记录如下: sniff函数是在指定网卡上每次嗅探到一个数据包后然后将它传给prn指定的函数.

  9. Github作为图床的一个小坑

    Github作为图床的一个小坑 前言 听了少铭同学建议把github作为图床,结果遇到了一个小坑,总是显示不出来图片. 问题描述与解决 形如下的链接是显示不出来的: https://github.co ...

随机推荐

  1. BZOJ 3514: Codechef MARCH14 GERALD07加强版 [LCT 主席树 kruskal]

    3514: Codechef MARCH14 GERALD07加强版 Time Limit: 60 Sec  Memory Limit: 256 MBSubmit: 1312  Solved: 501 ...

  2. InnoDB索引

    名词解释 clustered index(聚集索引) 对(primary key)主键索引的一种表述.InnoDB表存储是基于primary key列来组织的,这样做可以加快查询和排序速度.为了获得最 ...

  3. phpstudy 版本切换注意的问题

    如果你也在使用phpstudy的话要注意,因为切换版本后,虽然你的phpinfo 但是实际环境用的是系统环境变量 所以你要去改变下环境变量路径,然后重启电脑. 这样你的版本就是你想切换的版本啦!

  4. jenkins中使用rsync, scp命令

    jenkins 中使用 rsync 命令 是出现一些错误输出 Host key verification failed. rsync: connection unexpectedly closed ( ...

  5. table内容强制换行

    为防止文字过长而撑坏表格,一般我们需要通过css使td中内容强制换行.分别给table和td加一条样式即可实现: <meta charset="utf-8"> < ...

  6. Asp.Net Core 基于QuartzNet任务管理系统

    之前一直想搞个后台任务管理系统,零零散散的搞到现在,也算完成了. 这里发布出来,请园里的dalao批评指导! 废话不多说,进入正题. github地址:https://github.com/YANGK ...

  7. ubuntu17.10 安装firefox的flash

    1. flash下载地址:https://get.adobe.com/flashplayer/ 2. 选择tar.gz for linux 3. 下载后解压tar包.里面有个libflashplaye ...

  8. 2道acm编程题(2014):1.编写一个浏览器输入输出(hdu acm1088);2.encoding(hdu1020)

    //1088(参考博客:http://blog.csdn.net/libin56842/article/details/8950688)//1.编写一个浏览器输入输出(hdu acm1088)://思 ...

  9. 震撼功能:逐浪CMS全面支持PWA移动生成意指未来

    Progressive Web App, 简称 PWA,是提升 Web App 的体验的一种新方法,能给用户原生应用的体验. PWA 能做到原生应用的体验不是靠特指某一项技术,而是经过应用一些新技术进 ...

  10. Qt 动态加载DLL 常见错误有哪些?

    1. dll 路径不对,比如 IE 中 2. 依赖库缺失,会报错找不到指定模块 注意: qt 的 qlibrary 只能加载 标准 C 函数