You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

JavaScript实现百位、万位整数转换为对应英文单词的功能开发问题

你现有代码的框架已经可以满足需求,只需要补充长度判断分支,从对应的枚举对象中取出文本后拼接单位,赋值给结果输入框即可。另外注意doubleDigit中90对应的英文拼写有误,正确拼写为ninety。

修改后的完整代码如下:

JavaScript 代码

const singleDigit = {
  // 百位格式对应映射
  "10": "one",
  "20": "two",
  "30": "three",
  "40": "four",
  "50": "five",
  "60": "six",
  "70": "seven",
  "80": "eight",
  "90": "nine"
}

const doubleDigit = {
  // 万位格式对应映射
  "10": "ten",
  "20": "twenty",
  "30": "thirty",
  "40": "forty",
  "50": "fifty",
  "60": "sixty",
  "70": "seventy",
  "80": "eighty",
  "90": "ninety"
}

function changeToWord() {
  const amount = document.getElementById("fname").value.trim();
  const len = amount.length;
  const firstTwo = amount.substring(0, 2);
  let res = "";

  // 5位为整万格式
  if (len === 5) {
    res = doubleDigit[firstTwo] ? `${doubleDigit[firstTwo]} thousand` : "";
  } 
  // 3位为整百格式
  else if (len === 3) {
    res = singleDigit[firstTwo] ? `${singleDigit[firstTwo]} hundred` : "";
  }

  document.getElementById("lname").value = res;
}

HTML 代码

<label for="fname">数字金额:</label><br>
<input type="text" id="fname" name="fname"><br>
<label for="lname">英文金额:</label><br>
<input type="text" id="lname" name="lname" onfocusin="changeToWord()"><br><br>

如果后续需要支持非整百、整万的数字转换,再补充对应的数值映射和逻辑分支即可。

内容的提问来源于stack exchange,提问作者user4221591

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 15:27:00