将 PHP 代码转换为 Javascript 以将数字读入句子
Convert PHP code to Javascript to read numbers into sentences
我想将我的 PHP 代码转换为 JavaScript。该代码的目的是将数字读入句子。问题是句子不会显示在输入文本中。这是代码:
JavaScript
function pembilang(angka) {
var bilangan =[
'',
'SATU',
'DUA',
'TIGA',
'EMPAT',
'LIMA',
'ENAM',
'TUJUH',
'DELAPAN',
'SEMBILAN',
'SEPULUH',
'SEBELAS'
];
if (angka < 12) {
$('#NILAI_HURUF').val(bilangan[angka]);
} else if (angka < 20) {
$('#NILAI_HURUF').val(bilangan[angka - 10] + ' BELAS');
} else if (angka < 100) {
hasil_bagi == (angka / 10);
hasil_mod == angka % 10;
$('#NILAI_HURUF').val(trim(sprintf('%s PULUH %s', bilangan[hasil_bagi], bilangan[hasil_mod])));
} else if (angka < 200) {
$('#NILAI_HURUF').val('SERATUS %s', terbilang(angka - 100));
} else if (angka < 1000) {
hasil_bagi == (angka / 100);
hasil_mod == angka % 100;
$('#NILAI_HURUF').val(trim(sprintf('%s RATUS %s', $bilangan[hasil_bagi], terbilang(hasil_mod))));
} else if (angka < 2000) {
$('#NILAI_HURUF').val(trim(sprintf('SERIBU %s', terbilang(angka - 1000))));
} else if (angka < 1000000) {
hasil_bagi == (angka / 1000);
hasil_mod == angka % 1000;
$('#NILAI_HURUF').val(sprintf('%s RIBU %s', terbilang(hasil_bagi), terbilang(hasil_mod)));
} else if (angka < 1000000000) {
hasil_bagi == (angka / 1000000);
hasil_mod == angka % 1000000;
$('#NILAI_HURUF').val(trim(sprintf('%s JUTA %s', terbilang(hasil_bagi), terbilang(hasil_mod))));
} else if (angka < 1000000000000) {
hasil_bagi == (angka / 1000000000);
hasil_mod == fmod(angka, 1000000000);
$('#NILAI_HURUF').val(trim(sprintf('%s MILYAR %s', terbilang(hasil_bagi), terbilang(hasil_mod))));
} else if (angka < 1000000000000000) {
hasil_bagi == angka / 1000000000000;
hasil_mod == fmod(angka, 1000000000000);
$('#NILAI_HURUF').val(trim(sprintf('%s TRILIYUN %s', terbilang(hasil_bagi), terbilang(hasil_mod))));
} else {
alert('Too many digits.');
}
}
然后这是我输入数字的地方:
html
<input onkeypress="return isNumberKey(event);" onChange="pembilang(this.value);" class="form-control" placeholder="Masukan nilai angka..." name="NILAI_ANGKA_AKHIR" type="number" required>
这是句子必须显示的地方:
html
<input id="NILAI_HURUF" value="" class="form-control disabled" placeholder="Masukan no induk..." name="NILAI_HURUF" type="text" required>
好的,我自己解决了
我只是将这样的变量赋给 JavaScript 函数:
angka = angka;
解决方案是来自 phpjs.org/functions/sprintf 的 implementing/add JavaScript 模块。那么显示那句话的代码是这样的:
JavaScript
function pembilang(angka) {
var angka = angka;
var bilangan =[
'',
'SATU',
'DUA',
'TIGA',
'EMPAT',
'LIMA',
'ENAM',
'TUJUH',
'DELAPAN',
'SEMBILAN',
'SEPULUH',
'SEBELAS'
];
if (angka < 12) {
$('#NILAI_HURUF').val(bilangan[angka]);
} else if (angka < 20) {
$('#NILAI_HURUF').val(bilangan[angka - 10] + ' BELAS');
} else if (angka < 100) {
hasil_bagi = Math.floor(angka / 10);
hasil_mod = angka % 10;
// example 4: sprintf("%s", 123456789012345);
var x = sprintf("%s PULUH %s", bilangan[hasil_bagi], bilangan[hasil_mod]);
$('#NILAI_HURUF').val(x);
} else if (angka < 101) {
var x = sprintf("SERATUS %s", bilangan[angka - 100]);
$('#NILAI_HURUF').val(x);
}else {
alert('Maksimal nilai 100.');
}
}
我想将我的 PHP 代码转换为 JavaScript。该代码的目的是将数字读入句子。问题是句子不会显示在输入文本中。这是代码:
JavaScript
function pembilang(angka) {
var bilangan =[
'',
'SATU',
'DUA',
'TIGA',
'EMPAT',
'LIMA',
'ENAM',
'TUJUH',
'DELAPAN',
'SEMBILAN',
'SEPULUH',
'SEBELAS'
];
if (angka < 12) {
$('#NILAI_HURUF').val(bilangan[angka]);
} else if (angka < 20) {
$('#NILAI_HURUF').val(bilangan[angka - 10] + ' BELAS');
} else if (angka < 100) {
hasil_bagi == (angka / 10);
hasil_mod == angka % 10;
$('#NILAI_HURUF').val(trim(sprintf('%s PULUH %s', bilangan[hasil_bagi], bilangan[hasil_mod])));
} else if (angka < 200) {
$('#NILAI_HURUF').val('SERATUS %s', terbilang(angka - 100));
} else if (angka < 1000) {
hasil_bagi == (angka / 100);
hasil_mod == angka % 100;
$('#NILAI_HURUF').val(trim(sprintf('%s RATUS %s', $bilangan[hasil_bagi], terbilang(hasil_mod))));
} else if (angka < 2000) {
$('#NILAI_HURUF').val(trim(sprintf('SERIBU %s', terbilang(angka - 1000))));
} else if (angka < 1000000) {
hasil_bagi == (angka / 1000);
hasil_mod == angka % 1000;
$('#NILAI_HURUF').val(sprintf('%s RIBU %s', terbilang(hasil_bagi), terbilang(hasil_mod)));
} else if (angka < 1000000000) {
hasil_bagi == (angka / 1000000);
hasil_mod == angka % 1000000;
$('#NILAI_HURUF').val(trim(sprintf('%s JUTA %s', terbilang(hasil_bagi), terbilang(hasil_mod))));
} else if (angka < 1000000000000) {
hasil_bagi == (angka / 1000000000);
hasil_mod == fmod(angka, 1000000000);
$('#NILAI_HURUF').val(trim(sprintf('%s MILYAR %s', terbilang(hasil_bagi), terbilang(hasil_mod))));
} else if (angka < 1000000000000000) {
hasil_bagi == angka / 1000000000000;
hasil_mod == fmod(angka, 1000000000000);
$('#NILAI_HURUF').val(trim(sprintf('%s TRILIYUN %s', terbilang(hasil_bagi), terbilang(hasil_mod))));
} else {
alert('Too many digits.');
}
}
然后这是我输入数字的地方:
html
<input onkeypress="return isNumberKey(event);" onChange="pembilang(this.value);" class="form-control" placeholder="Masukan nilai angka..." name="NILAI_ANGKA_AKHIR" type="number" required>
这是句子必须显示的地方:
html
<input id="NILAI_HURUF" value="" class="form-control disabled" placeholder="Masukan no induk..." name="NILAI_HURUF" type="text" required>
好的,我自己解决了
我只是将这样的变量赋给 JavaScript 函数:
angka = angka;
解决方案是来自 phpjs.org/functions/sprintf 的 implementing/add JavaScript 模块。那么显示那句话的代码是这样的:
JavaScript
function pembilang(angka) {
var angka = angka;
var bilangan =[
'',
'SATU',
'DUA',
'TIGA',
'EMPAT',
'LIMA',
'ENAM',
'TUJUH',
'DELAPAN',
'SEMBILAN',
'SEPULUH',
'SEBELAS'
];
if (angka < 12) {
$('#NILAI_HURUF').val(bilangan[angka]);
} else if (angka < 20) {
$('#NILAI_HURUF').val(bilangan[angka - 10] + ' BELAS');
} else if (angka < 100) {
hasil_bagi = Math.floor(angka / 10);
hasil_mod = angka % 10;
// example 4: sprintf("%s", 123456789012345);
var x = sprintf("%s PULUH %s", bilangan[hasil_bagi], bilangan[hasil_mod]);
$('#NILAI_HURUF').val(x);
} else if (angka < 101) {
var x = sprintf("SERATUS %s", bilangan[angka - 100]);
$('#NILAI_HURUF').val(x);
}else {
alert('Maksimal nilai 100.');
}
}