字符串到整数的Typescript转换



我试图将字符串转换为TypeScript中的整数,这是用parseInt方法完成的。这里是字符串来自和环境变量的问题,所以它的类型是string || undefined,但parseInt方法需要类型为string的参数。如何解决parseInt方法的错误参数类型的打字错误?自过程。env的类型为string || undefined

除了parseInt,我们还有另一种方法来转换字符串to anumber

使用一元+操作符
function parse_using_parseInt(string_as_number: string | undefined) {
if((string_as_number || '').trim()) {
return parseInt((string_as_number || '').trim(), 10);
}
return NaN;
}
function parse_using_plus(string_as_number: string | undefined) {
if((string_as_number || '').trim()) {
return +(string_as_number || '').trim();
}
return NaN;
}

检查示例并选择合适的


说明

"use strict";
function parse_using_parseInt(string_as_number) {
if ((string_as_number || '').trim()) {
return parseInt((string_as_number || '').trim(), 10);
}
return NaN;
}
function parse_using_plus(string_as_number) {
if ((string_as_number || '').trim()) {
return +(string_as_number || '').trim();
}
return NaN;
}
console.log('Using parseInt: ', parse_using_parseInt(undefined));
console.log('Using parseInt: ', parse_using_parseInt("undefined"));
console.log('Using parseInt: ', parse_using_parseInt("123"));
console.log('Using parseInt: ', parse_using_parseInt("123xyz")); //<-- Partially parsed as 123, What is expected for this input
console.log('Using parseInt: ', parse_using_parseInt("xyz123"));
console.log('Using plus: ', parse_using_plus(undefined));
console.log('Using plus: ', parse_using_plus("undefined"));
console.log('Using plus: ', parse_using_plus("123"));
console.log('Using plus: ', parse_using_plus("123xyz")); //<-- This parses as NaN, unlike parseInt
console.log('Using plus: ', parse_using_plus("xyz123"));

你应该使用if语句。

if(value === undefined) return;
return parseInt(value);

这样,您还可以防止可能发生的错误。

相关内容

  • 没有找到相关文章

最新更新