1
我已将此代码从Stackoverflow中修改并进行了修改,但我无法将数字转换为超过3位数字。将数字转换为单词
下面是代码:
var num = this.rawValue;
var a = ['','one ','two ','three ','four ', 'five ','six ','seven ','eight ','nine ','ten ','eleven ','twelve ', 'thirteen ','fourteen ','fifteen ','sixteen ','seventeen ','eighteen ','nineteen '];
var b = ['', '', 'twenty','thirty','forty','fifty', 'sixty','seventy','eighty','ninety'];
var c = ['thousand', 'million', ''];
num = num.toString();
num = ('000000000' + num).substr(-9); // // Make number into a predictiable nine character string
num = num.match(/.{3}/g); // Split string into chuncks of three numbers then reverse order of returned array
var words = '';
for(var i = 0; i < c.length; i++) {
var n = num[i];
var str = '';
str += (words != '') ? ' ' + c[i] + ' ' : '';
str += (n[0] != 0) ? (a[Number(n[0])] + 'hundred ') : '';
n = n.substr(1);
str += (n != 0) ? ((str != '') ? 'and ' : '') + (a[Number(n)] || b[n[0]] + ' ' + a[n[1]]) : '';
words += str;
}
data.Text.TextField1.rawValue= words;
我想数字转换成文字超过3个位数,也考虑十进制值。
当前的代码转换成千位,它将小数点前的值解释为未定义。上面的代码是在Adobe下使用Adobe的形式(SAP)。
感谢Xufox的努力。我编辑了上面的代码以获取南亚语言格式的文字。 – sanny 2015-04-03 06:44:55
嗨@sanny,如果这个答案最终解决了您的问题,可以考虑将其标记为_accepted_,以便社区可以更好地了解此解决方案是否有效。如果没有,请告诉我们。 – Xufox 2015-04-16 21:40:56