1
我想要一个功能getNumName()
,当给定数字时,它将输出一个字符串,该字符串是该数字的名称,反之亦然。我一直没能实现前者,也不是后者,但后者我已经得到了令人沮丧的接近:如何根据数值获取数字的名称?
function getNameNum(num){ // string => num
var x = document.createElement("div");
$(x).load("https://www.google.com/search?q="+num+"+plus+zero #cwos");
return x.innerHTML;
}
这将迫使谷歌返回其计算器,然后抓住了这个数字,并将其返回。但是,我收到了CORS(跨源请求被阻止)错误(Darn!Google有保护!)。我有一个解决前者的想法:
function getNumName(num){ // num -> string
var names = ["zero","one","two","three","four",...]
return names[+num];
}
但是,这似乎是非常不切实际的。如果我有这两个自然数的函数,我可以很容易地将它扩展到负数(Math.sign().replace("-","negative ")
),然后将其扩展为实数(num+"".split(".")[1].split("").forEach(...)...
)。
最大的问题是:如何实现这两个功能?我愿意使用外部库和jQuery。
getNameNum() -> name => num
getNumName() -> num => name
这可能会帮助:HTTP://javascript.about.com/library/bltoword.htm – NoChance 2014-12-03 00:18:40