繁体   English   中英

没有在javascript中获得所需的输出

[英]not getting desired output in javascript

我试图制作一个javascript程序,将20到100之间的数字转换为单词。 所以我写了这个 -

var num = prompt("enter a number");
if (num>20 && num<100)
{
 words(num);
}
else alert("Please enter a number between 20 and 100");

function words(num)
{
var ones = ["","one","two","three","four","five","six", "seven","eight",  "nine"];
var tens = ["", "", "twenty","thirty","fourty","fifty","sixty","seventy","eighty","ninety"];

var div= num/10;
var rem= num%10;

if (rem==0)
    document.write(num+" = "+tens[div]);
else
    document.write(num+" = "+tens[div]+" "+ones[rem]);

}

问题是如果我输入30,40这样的数字可以被10整除我得到正确的输出但如果我输入32它将显示“32 =未定义的两个”。 我做错了什么? 我是JS的新手,所以不太了解。

32/103.2 ,而不是3 你必须对结果进行舍入。

更改

 var div= num/10;

 var div= Math.floor(num/10);

你应该这样做

var rem= num%10;
var div= (num - rem)/10;

因为25/10 = 2.5 not 2

工作小提琴

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM