javascript - 如果它是一个精确的数字,如何将字符串转换为 float ,而不仅仅是在javascript中以数字开头

标签 javascript

我正在尝试创建检查字符串的函数。如果字符串是数字,那么它会将其转换为 float 。否则,它将保持原样。

例如:我有这些测试字符串:

"123" => 123
"12.3" => 12.3
"12.300" => 12.3
"test123" => "test123"
"123test" => "123test"
"12.3test" => "12.3test"
"<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="69585b5a29585b5a47585b5a" rel="noreferrer noopener nofollow">[email protected]</a>" => "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="d4e5e6e794e5e6e7fae5e6e7" rel="noreferrer noopener nofollow">[email protected]</a>"

我尝试自己制作如下所示的内容,但有时它会通过删除字母并保留字符串数字的第一部分来将真实字符串转换为数字

let mynumber="<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="78494a4b0c1d0b0c381f15191114561b1715" rel="noreferrer noopener nofollow">[email protected]</a>"
mynumber = parseFloat(mynumber) ? parseFloat(mynumber) : mynumber;
//output: 123

最佳答案

您可以使用 Number() 将字符串转换为数字,并检查其是否为 NaN。

function check(num){
   return isNaN(Number(num)) ? num : Number(num);
}

let mynumber="<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="1d2c2f2e69786e695d7a707c7471337e7270" rel="noreferrer noopener nofollow">[email protected]</a>"
let mynumber2 = "34234";
let mynumber3 = "3234.234";

let result = check(mynumber);
let result2 = check(mynumber2);
let result3 = check(mynumber3);


console.log(result, typeof result);
console.log(result2, typeof result2);
console.log(result3, typeof result3);

关于javascript - 如果它是一个精确的数字,如何将字符串转换为 float ,而不仅仅是在javascript中以数字开头,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62568464/

相关文章:

javascript - jQuery 操作仅一次/自定义 URL

javascript - 响应式 Filemanager 9 在 TinyMCE 4 中打开空白对话框

javascript - 如何将while循环添加到随机发生器

javascript - 跟踪 HTML div 内的滚动位置

javascript - 映射到嵌套组件的 Elm 效果

javascript - 由于交叉问题,nodejs无法加载URL

javascript - 如何在javascript中使图像可点击?

javascript - 我如何使用可请求扩展的 Bluebird promise ?

javascript - 使用 Highcharts 获取 Solid Guage 的刻度位置和标签

javascript - React Modal 不会在加载内容之间关闭