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/ ...
随机推荐
- winform之判断验证码,,附加验证码的一般处理程序
这里用的一般处理程序画的验证码图片. 判断验证码步骤: ①先在一般处理程序中获取验证码(一般处理程序中session的调用→context.Session[]) string code = GetRn ...
- windows Server2008R2 每隔一段时间自动关机解决办法
情况描述: “我的电脑-->右键属性”中显示“已激活”,而“管理工具”中显示未激活.系统中有进程wlms.exe. 网上找了下解决方式: 1.提权工具:PSTOOLS(下载地址:http://m ...
- 学习笔记-动态树Link-Cut-Tree
--少年你有梦想吗? --少年你听说过安利吗? 安利一个集训队讲解:http://wenku.baidu.com/view/75906f160b4e767f5acfcedb 关于动态树问题,有多种方法 ...
- asp.net 回发或回调参数无效的各种情况分析及解决办法
昨天,在实现级联菜单的时候,突然出现一下错误: 回发或回调参数无效.在配置中使用 <pages enableEventValidation="true"/> 或在页面中 ...
- 黑客帝国风格必备插件ProPowerTools
ProPowerTools 详细说明点这里
- bzoj3555 企鹅QQ
3555: [Ctsc2014]企鹅QQ Time Limit: 20 Sec Memory Limit: 256 MBSubmit: 1640 Solved: 613 Description P ...
- PHP中soap的使用例子
PHP 使用soap有两种方式. 一.用wsdl文件 服务器端. <?phpclass service{ public function HelloWorld() { return " ...
- SOAP 格式设置选项
SOAP 格式设置选项 两个格式设置选项为: Style:适用于 SOAP 消息中 Body 元素的子元素(也可能是孙级).此选项指定为 binding WSDL 元素(通常情况下)或 operati ...
- iOS开源项目汇总
扫描wifi信息: http://code.google.com/p/uwecaugmentedrealityproject/ http://code.google.com/p/iphone-wire ...
- Laravel教程 三:视图变量传递和Blade
Laravel教程 三:视图变量传递和Blade 此文章为原创文章,未经同意,禁止转载. Blade 上一篇我们简单地说了Router,Views和Controllers的工作流程,这一次我就按照上一 ...