JavaScript toFixed()使用的注意事项
以下是w3school的定义:
定义和用法
toFixed() 方法可把 Number 四舍五入为指定小数位数的数字。
语法
NumberObject.toFixed(num)
| 参数 | 描述 |
|---|---|
| num | 必需。规定小数的位数,是 0 ~ 20 之间的值,包括 0 和 20,有些实现可以支持更大的数值范围。如果省略了该参数,将用 0 代替。 |
返回值
返回 NumberObject 的字符串表示,不采用指数计数法,小数点后有固定的 num 位数字。如果必要,该数字会被舍入,也可以用 0 补足,以便它达到指定的长度。如果 num 大于 le+21,则该方法只调用 NumberObject.toString(),返回采用指数计数法表示的字符串。
抛出
当 num 太小或太大时抛出异常 RangeError。0 ~ 20 之间的值不会引发该异常。有些实现支持更大范围或更小范围内的值。
当调用该方法的对象不是 Number 时抛出 TypeError 异常。
实例
在本例中,我们将把数字舍入为仅有一位小数的数字:
Show the number 13.37 with one decimal:
<script type="text/javascript">
var num = new Number(13.37);
document.write (num.toFixed(1))
</script>
输出:
Show the number 13.37 with one decimal:
13.4 这里的输出“13.4”其实是个Sting类型的,即"13.4",一定要注意!!!!
因为你如果是经过toFixed()方法,来进行数据处理之后,还要进行数值计算的话,那么一定要转成number类型!!!不然,一定出错,因为返回值是string字符串!!!
切记!!!! string转换成number的方法:
JS 中将 number 转换为 string 我们比较熟悉,直接用toString() 的方法就可以了;那么将 string 转换成为 number 都有些什么方法呢?如下便简单的列举了一些,以便记录,说不定什么时候就用到了~~
我们可以使用parseInt ,或者unary plus 或者parseFloat with floor 或者Math.round这些方式,请看如下具体的代码:
1):parseInt
var x = parseInt("10"); // 10
但是这种只带一个参数的方式会存在诟病。比如我们想将字符串 "010" 转化为数字 10,直接用这个方法将会返回8.
var x = parseInt("010"); // 8
因此这里提供另外一个方法,带有两个参数:第一个是目标转换字符串,第二个用来指定将字符串转化为几进制的数字,并且radix的范围是(2~36)
parseInt(string, radix)
例如:
var x = parseInt("1000", 10); // 1000
2):unary plus (一元操作符"+"),这种方式非常的巧妙
var x = +"1000"; // 1000
var x = +"1000.12"; // 1000.12
3):parseFloat 方法可以将对应的字符串转化为浮点类型的数字
var x = parseFloat("1000.01") // 1000.01
4):Math.floor 的方式可以对字符和数字进行向下取整
var x = Math.floor("1000.01"); // 1000
var x = Math.floor(1000.01); // 1000
var x = Math.floor(1000.91); // 1000
5):Math.round 的方式可以对字符和数字进行四舍五入取整
var x = Math.round("1000"); //1000 equivalent to round("1000",0)
var x = Math.round("1000.56"); // 1001
var x = Math.round("1000.23"); // 1000
另:以前的浏览器,或者09年的时候,会出现ie6左右吧,会出现如下的错误:
var money=0.00542;//0.006;
alert(Number(money).toFixed(2)); 现在不会了,现在我ie11,firefox都是输出0.01!!!
JavaScript toFixed()使用的注意事项的更多相关文章
- JavaScript toFixed()、toExponential、toPrecision方法
JavaScript toFixed() 定义和用法 toFixed() 方法可把 Number 四舍五入为指定小数位数的数字. 语法 NumberObject.toFixed(num) 参数 描述 ...
- JavaScript toFixed function Not Rouding
JavaScript库函数toFixed用来将给定的数字四舍五入为指定的小数位数,W3school上有详细的介绍.众所周知,在处理小数位四舍五入的时候存在两种方式:一种是逢五进一,如5.885保留两位 ...
- Javascript -- toFixed()函数
Javascript——toFiexed()函数 1. toFixed(n) 限制小数点后位数,四舍五入.n:0~20 . 2. 作用对象必须是number,不能为其他类型.如(8.001).toFi ...
- JavaScript toFixed() 方法
定义和用法toFixed() 方法可把 Number 四舍五入为指定小数位数的数字. 语法NumberObject.toFixed(num) 参数 描述num 必需.规定小数的位数,是 0 ~ 20 ...
- Javascript之网页版待办事项
本文使用原生JS实现站点 http://www.todolist.cn/ 的基本功能. 其中页面的HTML布局和CSS样式取用原站,JS部分为自己编写. 效果图 完整代码 HTML.JS部分 < ...
- JavaScript toFixed 用法
在JS中进行乘法运算时 我们又是会遇到一下情况 <input type="text" id="num1" value="" /> ...
- JavaScript typeof function()的注意事项
首先,上一段代码: var f = function g() { return 23; }; console.log(typeof g); //输出undefined //console.log(ty ...
- javascript中的属性注意事项
1.函数原型prototype设置的对象是只读类型,所以不能修改(即栈只读).但是我们常常可以看到它被“修改‘’了.若对象中定义的属性和原型中属性一样,优先使用自定义属性. 例如代码: //原型 类似 ...
- javascript中个别方法注意事项
1.键值对new Array()的length值只统计下标是数字的键,可以使用for(var key in arr)的方式进行遍历所有元素.例如 <script type="text/ ...
随机推荐
- [转]ORACLE 中ROWNUM用法总结!
原文地址:http://www.itpub.net/thread-824147-1-1.html 对于 Oracle 的 rownum 问题,很多资料都说不支持>,>=,=,between ...
- web前端开发常用的10个高端CSS UI开源框架
web前端开发常用的10个高端CSS UI开源框架 随着人们对体验的极致追求,web页面设计也面临着新的挑战,不仅需要更人性化的设计理念,还需要设计出更酷炫的页面.作为web前端开发人员,运用开源 ...
- BZOJ-1876 SuperGCD Python(欧几里德算法)
第一次感觉Python艹题的快感 1876: [SDOI2009]SuperGCD Time Limit: 4 Sec Memory Limit: 64 MB Submit: 2461 Solved: ...
- Spring MVC实现文件上传
基础准备: Spring MVC为文件上传提供了直接支持,这种支持来自于MultipartResolver.Spring使用Jakarta Commons FileUpload技术实现了一个Multi ...
- SQL injection
SQL injection is a code injection technique, used to attack data-driven applications, in which malic ...
- c语言 函数传输传递的三种方式(值、指针、引用)
本文摘自<彻底搞定c指针> 一.三道考题开讲之前,我先请你做三道题目.(嘿嘿,得先把你的头脑搞昏才行……唉呀,谁扔我鸡蛋?)考题一,程序代码如下:void Exchg1(int x, in ...
- C++_Eigen函数库用法笔记——Block Operations
Using block operations rvalue, i.e. it was only read from lvalues, i.e. you can assign to a block Co ...
- Caused by: java.lang.NoSuchFieldError: TRACE
Caused by: java.lang.NoSuchFieldError: TRACE at org.slf4j.impl.Log4jLoggerAdapter.trace(Log4jLoggerA ...
- object-c 的ARC 问答/介绍
原文:http://blog.csdn.net/kmyhy/article/details/8895606 概念" Clangstatic analyzer "是一个非常有用的查找 ...
- 【iOS】app的生命周期
对于iOS应用程序,关键的是要知道你的应用程序是否正在前台或后台运行.由于系统资源在iOS设备上较为有限,一个应用程序必须在后台与前台有不同的行为.操作系统也会限制你的应用程序在后台的运行,以提高电池 ...