我试图将数字转换成英文单词,例如1234将成为:" 一千二百三十四 ".
我的战术是这样的:
将数字分成三个并将它们finlOutPut从右到左放在Array()上.
将finlOutPut三个数字的每个组(数组中的每个单元格)转换为一个单词(这就是triConvert函数所做的).如果所有三位数都为零,则将它们转换为"dontAddBigSuffix"
从右到左,增加千,百万,亿等.如果finlOutPut单元格等于"dontAddBigSufix"(因为它只是零),请不要添加单词并将单元格设置为" "(无).
它似乎工作得很好,但我遇到了一些问题,如19000000 9,转换为:" 一亿九千万 ".不知何故,当有几个零时它会"忘记"最后的数字.
我做错了什么?这个bug在哪里?为什么它不能完美运作?
<html>
<head>
<meta http-equiv="Content-Type" content="text/html;charset=utf-8"/>
<script type="text/javascript">
function update(){
var bigNumArry = new Array('', ' thousand', ' million', ' billion', ' trillion', ' quadrillion', ' quintillion');
var output = '';
var numString = document.getElementById('number').value;
var finlOutPut = new Array();
if (numString == '0') {
document.getElementById('container').innerHTML = 'Zero';
return;
} …