【问题标题】:Number in english words using switch statement使用 switch 语句的英文单词中的数字
【发布时间】:2013-11-14 08:22:24
【问题描述】:

:) 我有这个练习,我必须将

function check() {
var theinput = document.getElementById("theinput");
var answer = document.getElementById("answer");
var number = parseInt(theinput.value);
var singles = number % 10;
var decades = (number / 10) % 10;
var hundreds = (number / 100) % 10;
var text = "The english word for the given number is: ";

if (isNaN(number)) {
    result = "Invalid Integer!";
}
    else {
        if (number > 999) {

            result = "Please enter a maximum 3 digit number!"
        }
            else {
                if (10 < number < 20) {
                    var teens = number;
                    switch (teens) {

                        case 11: result = text + "Eleven"; break;
                        case 12: result = text + "Twelve"; break;
                        case 13: result = text + "Thrirteen"; break;
                        case 14: result = text + "Fourteen"; break;
                        case 15: result = text + "Fifteen"; break;
                        case 16: result = text + "Sixteen"; break;
                        case 17: result = text + "Seventeen"; break;
                        case 18: result = text + "Eighteen"; break;
                        case 19: result = text + "Nineteen"; break;   

                   }
                }
                    else {
                        switch (singles) {

                            case 1: singles = "One"; break;
                            case 2: singles = "Two"; break;
                            case 3: singles = "Three"; break;
                            case 4: singles = "Four"; break;
                            case 5: singles = "Five"; break;
                            case 6: singles = "Six"; break;
                            case 7: singles = "Seven"; break;
                            case 8: singles = "Eight"; break;
                            case 9: singles = "Nine"; break;
                            default: singles = " ";

                        }
                        switch (decades) {

                            case 2: decades = "Twenty"; break;
                            case 3: decades = "Thrirty"; break;
                            case 4: decades = "Fourty"; break;
                            case 5: decades = "Fifty"; break;
                            case 6: decades = "Sixty"; break;
                            case 7: decades = "Seventy"; break;
                            case 8: decades = "Eightty"; break;
                            case 9: decades = "Ninety"; break;
                            default: decades = " ";  

                        }
                        switch (hundreds) {

                            case 1: hundreds = "One hundred and "; break;
                            case 2: hundreds = "Two hundred and "; break;
                            case 3: hundreds = "Three hundred and "; break;
                            case 4: hundreds = "Four hundred and "; break;
                            case 5: hundreds = "Five hundred and "; break;
                            case 6: hundreds = "Six hundred and "; break;
                            case 7: hundreds = "Seven hundred and "; break;
                            case 8: hundreds = "Eight hundred and "; break;
                            case 9: hundreds = "Nine hundred and "; break;
                            default: hundreds = "";
                        }

                        result = text + hundreds + decades + singles;
                    }
            }
    }

    answer.innerHTML = result;        
}

【问题讨论】:

  • 首先,10 &lt; number &lt; 20 并不代表您认为的意思。写10 &lt; number &amp;&amp; number &lt; 20。在您的情况下会发生什么,10 &lt; number 将是 truefalse;并且truefalse 都小于20,所以整个条件总是true

标签: javascript switch-statement


【解决方案1】:

10 到 20 之间的代码

if (10 < number < 20) {

错了

试试

if (number > 10 && number < 20) {

【讨论】:

  • 谢谢!但也许数百个单曲和数十年的开关或它们的变量存在问题。它现在只返回单曲:(
  • 那么你需要的是一些调试。使用 IDE 或插入一些打印语句
  • 试试:var 十年 = parseInt(number / 10);
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多