js 关于字符串转数字及数字保留位数的控制
1.parseInt()和parseFloat()两个转换函数,将字符串转换成相应的数字。
1.parseInt()
parseInt进行转换时,将字符串转成相应的整数。浮点数以后的数字都不要了。
parseInt("1234blue"); //returns 1234
parseInt("22.5"); //returns 22
parseInt("blue"); //returns NaN
另外parseInt转换时是包含有基模式的,按照指定的转换进制进行相应的整数转换的,基数是由第二个参数传入的。
parseInt("AF", 16); //returns 175 ---16进制
parseInt("10", 2); //returns 2 ---------2进制
parseInt("10", 8); //returns 8 ---------8进制
parseInt("10", 10); //returns 10 ------10进制
需要注意的是,如过字符串的第一个字符时0,则最好传入指定的基数,不然会意外的转成八进制整数。
parseInt("010"); //returns 8
parseInt("010", 8); //returns 8
parseInt("010", 10); //returns 10
2.parseFloat()
parseFloat()方法与parseInt()方法的处理方式相似。
使用parseFloat()方法的另一不同之处在于,字符串必须以十进制形式表示浮点数,parseFloat()没有基模式。
下面是使用parseFloat()方法的示例:
parseFloat("1234blue"); //returns 1234.0
parseFloat("0xA"); //returns NaN
parseFloat("22.5"); //returns 22.5
parseFloat("22.34.5"); //returns 22.34
parseFloat("0908"); //returns 908
parseFloat("blue"); //returns NaN
2.利用js变量弱类型转换
即js在执行数字运算的时候,除+以外的符号,在进行运算时,如果参与运算的数字是字符的形式,js会自动将其转成数字。
举个小例子,例子中采用数字与0的减号运算,自动将字符串转成数字。
var str= '012.345 ';
var x = str-0;
x = x*1;
上例利用了js的弱类型的特点,只进行了算术运算,实现了字符串到数字的类型转换,不过这个方法还是不推荐的
同时,也可以反过来使用,将数字转成字符串,数字在与字符进行+号运算时,执行的是字符串拼接,会将数字转成字符串进行拼接。
例如
var num=11225;
var str=num+‘’;
3.在对含有小数的数据进行处理的时候,往往需要保留指定的小数位数。针对保留一定位数的小数的方法有很多种。以下以保留两位小数列举几种。
1.比较新的方法toFixed,含有四舍五入的运算(IE 5.5+才支持)。
用法:2.453255.toFixed(2) //2.45
2.447088.toFixed(2) //2.45
2.利用下取正,按照指定位数转成整数,再转回去,不包含四舍五入。
Math.floor(15.7784514000 * 100)/100 //15.77 注:如果需要此方法实现四舍五入,配合上取整,和一定的逻辑进行实现。
3.另外几个对小数进行取整的API。
parseInt(); //丢弃小数部分,取整数部分,相当于下取整,Math.floor();
Math.ceil(5/2); //向上取整,小数只要存在,就整数部分+1;
Math.round(5/2); //四舍五入取整。
Math.floor(5/2); //向下取整,小数直接去掉,小数部分无论多大,整数部分都不+1。
4.另外还可以通过字符串控制,正则表达式匹配进行保留位数的控制,方法比较多,比较灵活。这里不再总结。
- SDP(2):ScalikeJDBC-Connection Pool Configuration
- 使用外部表关联MySQL数据到Oracle(r6笔记第100天)
- 使用selenium模块模拟浏览器爬去网页,并进行点击定位内容笔记
- python 报错'gbk' codec can't encode character 'ue5d1' in position 0:
- python文件打开方式详解——a、a+、r+、w+区别
- 三封报警邮件的分析(r6笔记第95天)
- HCTF2017 部分 Web 出题思路详解
- 基于springboot+kotlin+gradle构建的框架的坑
- 创建Task的多种方法
- 运行map()后,报:<map object at 0x02629E50>解决方法与原因分析
- Gradle的快速入门
- Python笔记从html中提取字段
- 一条细小的报警短信的处理(r6笔记第96天)
- 1.react的基础知识
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 一天一大 leet(三数之和)难度:中等 DAY-12
- MongoDB Docker版本:基础入门和复制集
- Django连接MySql使用models处理数据
- 一天一大 leet(爬楼梯)难度:简单 DAY-13
- 一天一大 leet(最长公共前缀)难度:简单 DAY-15
- Go语言入门(七)goroutine和channel
- 一天一大 leet(从先序遍历还原二叉树)难度:困难 DAY-18
- Go语言入门(八)线程安全&锁
- 一天一大 leet(最佳观光组合)难度:中等 DAY-17
- Django环境搭建
- javascript 中的位运算符
- python 操作 redis 的一些例子
- mongoDB(一)生产环境基础实践
- 一天一大 leet(验证回文串)难度:简单 DAY-19
- mongoDB(二)mongoDB副本集实战