我们目前有一种粗略的机制,可以将数字转换为单词(例如使用一些静态数组),并根据将其转换为英文文本的数字大小.但是我们遇到的问题是巨大的数字.
10183 = Ten thousand one hundred eighty three
90 = Ninety
5888 = Five thousand eight hundred eighty eight
Run Code Online (Sandbox Code Playgroud)
在我可以用于此目的的任何数学库中是否有一个易于使用的函数?
我正在制作一个代码,将给定的数量转换为单词,继续谷歌是我在谷歌搜索后得到的.但我觉得它有点冗长的代码来完成一个简单的任务.两个正则表达式和两个for循环,我想要更简单的东西.
我想尽量缩短它.并将发布我想出的
有什么建议?
var th = ['','thousand','million', 'billion','trillion'];
var dg = ['zero','one','two','three','four', 'five','six','seven','eight','nine'];
var tn = ['ten','eleven','twelve','thirteen', 'fourteen','fifteen','sixteen', 'seventeen','eighteen','nineteen'];
var tw = ['twenty','thirty','forty','fifty', 'sixty','seventy','eighty','ninety'];
function toWords(s) {
s = s.toString();
s = s.replace(/[\, ]/g,'');
if (s != parseFloat(s)) return 'not a number';
var x = s.indexOf('.');
if (x == -1)
x = s.length;
if (x > 15)
return 'too big';
var n = s.split('');
var str = '';
var sk = 0;
for (var i=0; i < x; …Run Code Online (Sandbox Code Playgroud) 可能重复:
JavaScript数字到单词
我正在寻找一种从文本框中获取数字输入并将其转换为文本行的方法.例如 -
输入金额£[950000]
NINE HUNDRED AND FIFTY THOUSAND
Run Code Online (Sandbox Code Playgroud)
有什么想法我能做到这一点吗?