JS 将 string 转换成为 number
JS 将 string 转换成为 number
转自:blog.csdn.net/For_GG/article/details/78557966
汇总一下各类方法:
1):parseInt
var x = parseInt("10"); // 10
带有两个参数:第一个是目标转换字符串,第二个用来指定将字符串转化为几进制的数字,并且radix的范围是(2~36)
parseInt(string, radix)
2):利用js变量弱类型转换,最近很喜欢用这种方式代码简洁
var a = "1000";typeof( +a ) //numbertypeof( a-0 ) //numbertypeof( a*1 ) //number
3):parseFloat 方法可以将对应的字符串转化为浮点类型的数字。
num.toFixed(2)可以四舍五入,保留两位小数,但会转换为String类型
var x = "2.446242342" var num =parseFloat(x); //typeof(num) numbernum = num.toFixed(2); // 输出结果为 2.45 typeof(num) String
我们可以用取巧的方法达到保留两位小数的目的:
Math.floor(15.7784514000 * 100) / 100
4):Math.floor 的方式可以对字符和数字进行向下取整
Math.ceil(5/2)向上取整,有小数就整数部分加1var x = Math.floor("1000.01"); // 1000var x = Math.floor(1000.01); // 1000var x = Math.ceil(1000.01); // 1001var 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"); // 1001var x = Math.round("1000.23"); // 1000
6):Number()的强制类型转换与parseInt()和parseFloat()方法的处理方式相似,只是它转换的是整个值,而不是部分值。示例如下:
Number(false) 0
Number(true) 1
Number(undefined) NaN
Number(null) 0
Number( "5.5 ") 5.5
Number( "56 ") 56
Number( "5.6.7 ") NaN
Number(new Object()) NaN
Number(100) 100
浮点数计算精度问题
0.1 => 0.0001 1001 1001 1001…(无限循环)
0.2 => 0.0011 0011 0011 0011…(无限循环)
其实对于浮点数的四则运算,几乎所有的编程语言都会有类似精度误差的问题,只不过在 C++/C#/Java 这些语言中已经封装好了方法来避免精度的问题,而 JavaScript 是一门弱类型的语言,从设计思想上就没有对浮点数有个严格的数据类型,所以精度误差的问题就显得格外突出。下面就分析下为什么会有这个精度误差,以及怎样修复这个误差。
下面是我的解决办法
//浮点数运算
//加法
function add(x,y){ var lenx = Math.floor(x) === x? 0:x.toString().split('.')[1].length,leny = Math.floor(y) === y? 0:y.toString().split('.')[1].length,num = Math.pow(10,Math.max(lenx,leny));return x*num+y*num/num
}//乘法
function mul(x,y){var lenx = Math.floor(x) === x? 0:x.toString().split('.')[1].length,leny = Math.floor(y) === y? 0:y.toString().split('.')[1].length,len = lenx+leny;return Number(x.toString.replace(',','')) * Number(y.toString.replace(',','')) /len
}
JS 将 string 转换成为 number相关推荐
- JS中的数据类型转换:String转换成Number的3种方法
今天有个学员问了个关于数据类型转换的问题,我觉得这个是可以给大家说一下的. JavaScript中,可以通过以下3种方法来将string值转换成number: 1.调用Number()来对string ...
- java string转number_string转换成number
[百度分享]javascript中的数据类型 最近对javascript型有些感想,想分3个部分和大家分享一下,先说说数据类型的分析: 1. 数据类型 javascript中包含6种数据类型:unde ...
- 从一道面试题说起—js隐式转换踩坑合集
前方提醒: 篇幅较长,点个赞或者收藏一下,可以在下一次阅读时方便查找 提到js的隐式转换,很多人第一反应都是:坑. 的确,对于不熟悉的人来说,js隐式转换存在着很多的让人无法预测的地方,相信很多人都深 ...
- js date转成 时间字符串_秋招快要开始了,前端笔试中的坑位-JS隐式转换问题
我们在写笔试题的时候,经常碰到涉及隐式转换的题目,例如 "1" + 2 obj + 1 [] == ![] [null] == false === 和 == === 叫做严格运算符 ...
- JS中金额转换以及格式化Vue过滤器
JS中金额转换以及格式化 - 为数字加上单位:万或亿 import Vue from 'vue' /** * 为数字加上单位:万或亿 * * 例如: * 1000.01 => 1000.01 * ...
- 使用JS将GPRMC转换成WGS84/GCJ02
使用JS将GPRMC转换成WGS84/GCJ02 背景 Background 代码 Code GPRMC 转换成WGS84 WGS84转GCJ02 背景 Background 在物联网相关的 应用中, ...
- 掌握js类型转换,先来学习js原始值转换的抽象操作 toPrimitive
文章目录 前言 js的原始值和引用值 js原始值转换的抽象操作 toPrimitive 日期对象的特殊情况 字符串连接符与算术隐式转换规则混淆 实例详解 `valueOf()` 和 `toString ...
- js中String的常用扩展
js中String的常用扩展,包括trim,检查中文,url,emal,电话号码,转类型,格式化代码等 //去掉字符串空间调用方式 字符串.trim() String.prototype.trim = ...
- js中string字符串转换为JSON对象 - 方法大全(4种)
js中string字符串转换为JSON对象 - 方法大全(4种) jQuery插件支持的转换方式: 示例: //jQuery.parseJSON(jsonstr),可以将json字符串转换成json对 ...
最新文章
- webhook自定义服务器,GO 使用Webhook 实现github 自动化部署
- php用Simple Excel导出xls
- idea shell 中的函数 跳转_PHP如何为函数执行设置超时?
- 【mybatis mapper XML】List类型入参参数处理
- ASP.NET MVC视图和控制器之间的传值总结(一)
- C和指针之字符串编程练习1
- 微信红包功能(含示例demo)
- 网络KPI异常检测之时序分解算法
- mysql的事务隔离级别
- MySQL 锁(行锁、表锁、页锁、乐观锁、悲观锁等)
- python模拟登陆豆瓣_模拟登陆豆瓣并爬取个人主页(爬虫项目三)
- KY-RTI分布仿真技术:第一章 简介
- uvalive5713(次小生成树)
- 润乾报表 echarts统计图分类显示不全
- 2020产品经理升职攻略-直播分享课
- ios 图片简单360度旋转动画
- linux 怎么把新硬盘分区,linux添加新硬盘分区
- 洋哥线下见面会,小姐姐都问了什么?
- 随机生成汉字(随机点名册)
- JavaScript运算符完全攻略(史上最全!)
热门文章
- C# SolidWorks二次开发---工程图中心标记(Center Marks)
- 编写shell脚本-sftp上传文件
- 使用IntelliJ IDEA 集成阿里提供的 Alibaba Cloud Toolkit插件,实现自动化远程部署Java项目(jar包,war包两种方式)
- 通过查看端口状态查看mongodb是否已经启动
- Evernote宣布关闭电商平台,重心回迁软件开发
- 2021web安全最全学习路线,从入门到入职(含书籍、工具包)
- 上学与不上学的区别(奇文共赏)-转
- python获取文件修改时间 错误_python错误记录
- Zabbix 监控原理及架构(了解zabbix)
- 工作总结之linux防火墙配置命令适用centos7、centos8