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
相关产品推荐
相关产品推荐

