javascript - 如何使用 parseInt 而不是 parseFloat 转换表示小数的字符串?

标签 javascript type-conversion parseint

给定一个表示数字的字符串,使用 parseInt 将字符串转换为数字。我写了一个工作函数,但没有考虑十进制数。有没有办法使用 parseInt 转换小数?这是我尝试考虑小数的情况。问题是返回 NaN。我想不出实现从结果中过滤 NaN 的解决方案。最终目标是比较两个字符串。我的解决方案必须使用parseInt。

function convertStr(str1, str2) {
let num1 = str1.split('')
let num2 = str2.split('');
num1 = num1.map(str => parseInt(str));
num2 = num2.map(str => parseInt(str));
console.log(num1);
console.log(num2);
}

非常感谢任何帮助。

最佳答案

我认为这是实现您所寻求的目标的良好一步:

问题是:当遇到十进制值时,你想要什么作为输出?

// Soluce to replace NaN by '.'
function convertStrReplace(str1) {
  let num1 = str1.split('')
  
  num1 = num1.map(str => parseInt(str)).map(x => isNaN(x) ? '.' : x);
  
  console.log(num1);
}

// Soluce to ignore NaN
function convertStrIgnore(str1) {
  let num1 = str1.split('')
  
  num1 = num1.map(str => parseInt(str)).filter(x => !isNaN(x));
  
  console.log(num1);
}


convertStrReplace('17,52');
convertStrIgnore('17,52');

<小时/>

语法替代

function convertStrFilter(str1) {
  const num1 = [
    ...str1,
  ].map(str => parseInt(str)).filter(x => !isNaN(x));

  console.log(num1);
}

convertStrFilter('17,52');

<小时/>

关于整数和字符串差异的说明

// String and integer differences

// Put a number into a string
const str = '9000';

console.log(typeof str, str);

// Put a number into a number
const number = 9000;

console.log(typeof number, number);

// Compare both (compare value and type)
console.log('equality ===', str === number);

// Compare both (compare value)
console.log('equality ==', str == number);

const numberFromString = parseInt(str);

console.log(typeof numberFromString, numberFromString);

// Compare both (compare value and type)
console.log('equality ===', number === numberFromString);

关于javascript - 如何使用 parseInt 而不是 parseFloat 转换表示小数的字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51073436/

相关文章:

javascript - 设置键盘快捷键以跳转到最近的输入字段

python - 使用 loc 删除索引过滤的数据框

java - 将变量声明为某种类型

Javascript,分数被附加而不是添加到分数字段?

java - 读取文件时出现数字格式异常

javascript - 你怎么知道无限长的 promise 链何时完全完成?

javascript - 如何在复杂的 Web 应用程序中构建 Javascript 程序?

javascript - 对 firebase 数据库的简单查询返回非常大的响应

c++ - 使用 HashTable 实现实现 HashMap

java - parseInt() 方法是否删除所有零?