gpt4 book ai didi

Javascript 将字符串转换为整数

转载 作者:行者123 更新时间:2023-12-03 16:33:42 25 4
gpt4 key购买 nike

我只是将我的脚趾浸入令人困惑的 javascript 世界,更多的是出于需要而不是愿望,我遇到了添加两个整数的问题。

1,700.00 + 500.00

returns 1,700.00500.00


因此,经过一些研究,我发现 1,700.00 被视为字符串,我需要对其进行转换。
我为解决此问题而阅读的最相关页面是 this questionthis page .但是当我使用 parseInt(string, radix)它返回 1。我是否使用了错误的函数或不正确的基数(老实说,我无法确定如何决定使用哪个基数)。
var a="1,700.00";
var b=500.00;
parseInt(a, 10);

最佳答案

基本答案
parseInt 不起作用的原因是逗号。您可以使用正则表达式删除逗号,例如:

var num = '1,700.00';

num = num.replace(/\,/g,'');
这将返回一个带有数字的字符串。现在您可以解析Int。如果您不选择基数,它将默认为 10这是在这里使用的正确值。
num = parseInt(num);
在添加它们之前对每个字符串数字执行此操作,一切都应该有效。
更多信息
替换的工作原理:
有关更换的更多信息,请访问 mdn :
`/` - start  
`\,` - escaped comma
`/` - end
`g` - search globally
全局搜索将查找所有匹配项(它会在没有这个的第一个匹配项之后停止) ''用空字符串替换匹配的部分,实质上是删除它们。
常用表达
  • 测试正则表达式的好工具:Rubular以及更多关于它们的信息,请访问 mdn
  • 如果您正在寻找好的教程 here is one .

  • ParseInt 和舍入,parseFloat
    parseInt 总是四舍五入到最接近的整数。如果您需要小数位,您可以使用一些技巧。这是我最喜欢的:
    2 places: `num = parseInt(num * 100) / 100;`
    3 places: `num = parseInt(num * 1000) / 1000;`
    有关 parseInt 的更多信息,请查看 mdn .
    如果您不想四舍五入,也可以使用 parseFloat。我假设您这样做了,因为标题已转换为整数。下面的@fr0zenFry 写了一个很好的例子。他指出 parseFloat 也不带基数,所以它总是在 base10 中。欲了解更多信息,请参阅 mdn .

    关于Javascript 将字符串转换为整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22344939/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com