如何在javascript中将数字转换为单词的代码发挥作用
How do i make my code for converting numbers to words in javascript work?
因此,我代码中的HTML只是创建一个基本游戏的一部分,该游戏生成一个随机数并将其转换为一个单词,因此用户必须以数字形式键入数字。
有人能帮我吗?因为我似乎无法理解如何进行转换或提出更好的方法?
function btnStart_onClick() {
lblrdm.innertext = parseInt(Math.random() * 999);
parQuest.innerText = "What is this number in Digits? " + Convert(lblrdm.innertext);
btnStart.disabled = true
btnCheck.disabled = false
}
function Convert(num) { // THIS IS WHERE IM STUCK
var ones = new Array('', ' one', ' two', ' three', ' four', ' five', ' six', ' seven', ' eight', ' nine', ' ten', ' eleven', ' twelve', ' thirteen', ' fourteen', ' fifteen', ' sixteen', ' seventeen', ' eighteen', ' nineteen');
var tens = new Array('', '', ' twenty', ' thirty', ' forty', ' fifty', ' sixty', ' seventy', ' eighty', ' ninety');
var hundred = ' hundred';
var output = '';
var numString = "num.toString()";
if (num < 20) {
output = ones[num];
return output;
}
if (numString.length == 3) {
output = ones[parseInt(numString.charAt(0))] + hundred;
output += tens[parseInt(numString.charAt(1))];
output += ones[parseInt(numString.charAt(2))];
return output;
}
output += tens[parseInt(numString.charAt(0))];
output += ones[parseInt(numString.charAt(1))];
return output;
}
<p id="parQuest"></p><!-- basic html -->
<input id="btnStart" type="button" value="Start" onclick="btnStart_onClick()" />
<input id="txtNum" type="text">
<input id="btnCheck" type="button" value="Check" onclick="btnCheck_onClick()" disabled />
<p id="parMsg"></p>
<p id="lblrdm" type="text"" ></p>
函数的粗略实现
const getString = (value, size, next) => {
let stringValue = "";
switch (value) {
case 1:
stringValue = "One";
break;
case 2:
stringValue = "Two";
break;
case 3:
stringValue = "Three";
break;
case 4:
stringValue = "Four";
break;
case 5:
stringValue = "Five";
break;
case 6:
stringValue = "Six";
break;
case 7:
stringValue = "Seven";
break;
case 8:
stringValue = "Eight";
break;
case 9:
stringValue = "Nine";
default:
break;
}
if (size === "Ten") {
switch (value) {
case 2:
stringValue = "Twenty";
break;
case 3:
stringValue = "Thirty";
break;
case 4:
stringValue = "Forty";
break;
case 5:
stringValue = "Fifty";
break;
case 6:
stringValue = "Sixty";
break;
case 7:
stringValue = "Seventy";
break;
case 8:
stringValue = "Eighty";
break;
case 9:
stringValue = "Ninety";
default:
break;
}
}
if (size === "Hundred" && next) {
return `${stringValue} ${size} and`;
} else if (size === "Hundred") {
return `${stringValue} ${size}`;
} else {
return stringValue;
}
};
const convertToWords = (value, old) => {
let size;
let num;
let next;
if (!value) {
return "";
}
switch (value.toString().length) {
case 2:
size = "Ten";
next = value % 10;
num = Math.floor(value / 10);
break;
case 3:
size = "Hundred";
next = value % 100;
num = Math.floor(value / 100);
break;
default:
size = "Unit";
next = 0;
num = value;
break;
}
let response;
if (num === 1 && size === "Ten") {
switch (next) {
case 1:
response = "Eleven";
next = 0;
break;
case 2:
response = "Twelve";
next = 0;
break;
case 3:
response = "Thirteen";
next = 0;
break;
case 4:
response = "Fourteen";
next = 0;
break;
case 5:
response = "Fifteen";
next = 0;
break;
case 6:
response = "Sixteen";
next = 0;
break;
case 7:
response = "Seventeen";
next = 0;
break;
case 8:
response = "Eighteen";
next = 0;
break;
case 9:
response = "Nineteen";
next = 0;
default:
response = "Ten";
next = 0;
break;
}
} else {
response = getString(num, size, next);
}
if (old) response = `${old} ${response}`;
if (next) return convertToWords(next, response);
return response;
};
console.log(convertToWords(999));
// Nine Hundred and Ninety Nine
相关文章:
- 从桌面读取python文件时高亮显示代码
- 如何将函数包装在函数中以避免代码重复
- 通过单击表单中的按钮,在代码生成中使用javascript生成字母数字代码
- 货币代码为欧元-金额的格式不应包含小数
- Regex代码只允许一个空格
- 如何将屏幕分辨率乘以 80%,然后在代码中使用
- 这个javascript代码有什么错误,它有将数字转换为单词的功能
- asp validationExpression中用于验证表达式的代码,使我们能够避免单词末尾的任何let(d)
- 用于计算输入框中的单词的 JavaScript 代码
- 如何使用以下 JavaScript 代码以单词形式获取带有月份的日期:
- 根据代码中存在的单词/URL 显示 CSS/HTML
- 我的单词代码中的大写字母有什么问题
- 如何在javascript中将数字转换为单词的代码发挥作用
- 为什么当我用鼠标粘贴文本时,我的文本框单词计数代码不能工作?
- 修改代码以换行整个单词&使它不区分大小写
- Hangman Javascript -我的代码似乎没有更新的单词占位符,当一个字母猜对了
- 在我的代码中打印一个单词
- JavaScript代码过滤掉字符串中的常见单词
- 我正在写一个代码来去掉单词中的最后一个元音,但它删除了最后一个字母.我哪里错了
- 隔离JS单词搜索代码中的第一个和最后一个字母