使用 charCodeAt 从字符串中获取数字

问题描述 投票:0回答:1

const text = "Hello team, I checked my wallet balance, there is 0,0000341 USDT, I can not buy anything";

需要仅使用一个循环 for 和 charCodeAt() 来获取数字

const parseBalance = (str) => {
  const zero = "0".charCodeAt(0);
  const nine = "9".charCodeAt(0);
  const coma = ",".charCodeAt(0);
  let num = 0,
    factor = 1;

  for (let i = str.length - 1; i >= 0; i--) {
    const char = str.charCodeAt(i);
    if (char >= zero && char <= nine) {
      num += (char - 48) * factor;
      factor *= 10;
    }
  }
  return num;
};

需要结果:0.0000341 我的结果是341 告诉我如何纠正写零的公式

javascript for-loop fromcharcode
1个回答
0
投票

const parseBalance = (str) => {
  const zero = "0".charCodeAt(0);
  const nine = "9".charCodeAt(0);
  const coma = ",".charCodeAt(0);
  let num = 0,
    factor = 1;

  for (let i = str.length - 1; i >= 0; i--) {
    const char = str.charCodeAt(i);
    if (char >= zero && char <= nine) {
      num += (char - 48) * factor;
      factor *= 10;
    }
    if (char === coma) {
      num = num / factor;
      factor = 1;
    }
  }
  return num;
};

console.log(parseBalance('0,0000342'));

© www.soinside.com 2019 - 2024. All rights reserved.