如何在JavaScript中将字符串转换为整数?

推荐答案

最简单的方法是使用原生Number函数:

var x = Number("1000")

如果这对你不起作用,那么有parseIntunary plusparseFloat with floorMath.round种方法.

parseInt:

var x = parseInt("1000", 10); // you want to use radix 10
    // so you get a decimal number even with a leading 0 and an old browser ([IE8, Firefox 20, Chrome 22 and older][1])

一元正号

var x = +"1000";

如果字符串是或可能是浮点数,并且需要整数:

var x = Math.floor("1000.01"); //floor automatically converts string to number

或者,如果你要用数学.地板几次:

var floor = Math.floor;
var x = floor("1000.01");

如果您是在调用parseInt时忘记将基数放入的类型,则可以使用parseFloat并按您的喜好对其进行舍入.这里我用的是地板.

var floor = Math.floor;
var x = floor(parseFloat("1000.01"));

有趣的是,Math.round(像Math.Floor)将执行字符串到数字的转换,所以如果您想要对数字进行四舍五入(或者如果字符串中有一个整数),这是一种很好的方法,也许是我最喜欢的方式:

var round = Math.round;
var x = round("1000"); //equivalent to round("1000",0)

Javascript相关问答推荐

Flutter:显示PDF和视频,但阻止下载

即使设置了父级的最大高度,固定位置的分区内容也不会滚动?

如何在非独立组件中使用独立组件?

在NextJS中使用计时器循环逐个打开手风琴项目?

React Native平面列表自动滚动

如何最好地从TypScript中的enum获取值

通过在页面上滚动来移动滚动条

如何在不创建新键的情况下动态更改 map 中的项目?

google docs boldText直到按行执行应用脚本错误

用于编辑CSS样式的Java脚本

如何修复我的数据表,以使stateSave正常工作?

MarkLogic-earch.suggest不返回任何值

为什么当我更新数据库时,我的所有组件都重新呈现?

为什么在函数中添加粒子的速率大于删除粒子的速率?

将相关数据组合到两个不同的数组中

如何根据查询结果重新排列日期

Clip-Path在网页浏览器(Mozilla、Edge、Chrome)上不能正常工作,但在预览版Visual Code Studio HTML、CSS、JS上却能很好地工作

为什么我不能使用其同级元素调用和更新子元素?

在Puppeteer中使用promise进行日志(log)记录时出现TargetCloseError

Chrome上的印度时区名S有问题吗?