JavaScript 字符串转数值(小数)

📅 2026/8/2 10:40:38 👁️ 阅读次数 📝 编程学习
JavaScript 字符串转数值(小数)

在 JavaScript 中,将字符串转换为数值(包括小数)有多种方法。以下是常用的几种方式:

1. parseFloat() - 最常用的方法

letstr="123.45";letnum=parseFloat(str);// 123.45 (number类型)console.log(typeofnum);// "number"

2. Number() 构造函数

letstr="123.45";letnum=Number(str);// 123.45 (number类型)console.log(typeofnum);// "number"

3. 一元加号运算符(+)

letstr="123.45";letnum=+str;// 123.45 (number类型)console.log(typeofnum);// "number"

4. parseFloat() 与 toFixed() 结合使用

letstr="123.45678";letnum=parseFloat(str).toFixed(2);// "123.46" (string类型)letnum2=parseFloat(parseFloat(str).toFixed(2));// 123.46 (number类型)

实际应用示例

// 从输入框获取值并转换为数值letinputValue=document.getElementById("priceInput").value;// 假设值为 "123.45"letprice=parseFloat(inputValue);// 转换为数值 123.45// 计算时使用数值lettotal=price*1.05;// 正确的数值计算// 显示时格式化document.getElementById("display").textContent=total.toFixed(2);// "129.62"

注意事项

  1. 无效值处理:如果字符串不能转换为有效数字,会返回NaN

    letinvalid=parseFloat("abc");// NaN
  2. 空字符串处理:空字符串会转换为 0

    letempty=parseFloat("");// 0
  3. 部分数字字符串:parseFloat 会解析直到遇到非数字字符

    letpartial=parseFloat("123.45abc");// 123.45
  4. toFixed() 返回字符串:注意 toFixed() 返回的是字符串,不是数值

    letnum=123.456;letstr=num.toFixed(2);// "123.46" (字符串)letnum2=parseFloat(num.toFixed(2));// 123.46 (数值)

在您的代码中的应用

根据您提供的代码,您已经在多处使用了toFixed(2)来格式化显示数值,这是正确的做法。如果您需要将用户输入的字符串转换为数值进行计算,可以使用上述方法。

例如,在您的搜索功能中:

functionstock_search(btn){letinputValue=document.getElementById("stock_search_input").value;// 如果需要确保是数值,可以转换letstockCode=parseInt(inputValue);// 如果是整数股票代码// 或者保持为字符串,取决于您的后端API要求// 然后使用 stockCode 进行搜索// ...}

希望这些信息对您有帮助!