2015-12-15 3 views
0

Как разрешить скрипт как это? , например, рассчитывать или минус Variable А и переменная B в валюте спасибо, кто может помочь мне ...Как разрешить валютный IDR в javascript

<html> 
<head> 
<meta http-equiv="Content-Language" content="en-us"> 
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> 
<title>New Page 1</title> 
</head> 
<body> 
<form name="form1"> 
<input id="harga" onkeyup="formatangka_titik()" type="text" /> 
<input id="diskon" onkeyup="formatangka_titik()" type="text" /> 
<input id="bayar" onkeyup="formatangka_titik()" type="text" /> 
</form> 
</body> 
</html> 

здесь код Javascript функция:

<script type="text/javascript"> 
function formatangka_titik() 
{ 
    a = form1.harga.value; 
    b = a.replace(/[^\d]/g,""); 
    c = ""; 
    panjang = b.length; 
    j = 0; 
    for (i = panjang; i > 0; i--) 
    { 
    j = j + 1; 
    if (((j % 3) == 1) && (j != 1)) 
     { 
    c = b.substr(i-1,1) + "." + c; 
    } else { 
    c = b.substr(i-1,1) + c; 
    } 
    } 
    form1.harga.value = c; 
</script> 
+0

Просьба подробно о том, что вы ожидаете случаться и что конкретно не работает как ожидалось в вашем коде. – thanksd

+0

<форма метода = "POST" Name = "Form1"> \t

валюты IDR

\t

<входной тип = "текст" название = "harga" размер = "20"> \t <входной тип = "текст "название =" Дискон»размер = "20"> \t <входной тип = "текст" название = "Баяр" размер = "20">

\t

Для примера: 1,250 + 1000 = 2,250

\t

 

Havika

+0

Консолидируйте свой код, сформулируйте конкретный вопрос и дайте желаемые результаты. –

ответ

0

Я думаю, ваша проблема в том, что вы добавляют две строки вместе, которые будут конкатенировать строки вместо добавления числовых значений.

Пример добавления типов строк:

var a = '1'; 
var b = '2'; 
console.log(a + b); // prints '12' to the console 

Пример добавляющие ИНТ типов:

var a = 1; 
var b = 2; 
console.log(a + b); // prints '3' to the console 

JavaScript свободно типизированных, так что это не всегда сразу видно, что тип переменной является.

Вы можете сделать несколько вещей, чтобы изменить переменную типа string в int. Вот несколько распространенных способов:

var stringNum = '123'; 
var intNum1 = parseInt(stringNum, 10); 
var intNum2 = +stringNum; 

В частности, код нужно будет выглядеть примерно так:

function formatangka_titik() { 
 
    var a = form1.harga.value.replace(/[^\d]/g, ""); 
 
    var b = form1.diskon.value.replace(/[^\d]/g, ""); 
 

 
    var a = +a; // converts 'a' from a string to an int 
 
    var b = +b; // converts 'b' from a string to an int 
 

 
    form1.harga.value = formatNum(a); 
 
    form1.diskon.value = formatNum(b); 
 
    form1.bayar.value = formatNum(+a + b); 
 
} 
 

 
function formatNum(rawNum) { 
 
    rawNum = "" + rawNum; // converts the given number back to a string 
 
    var retNum = ""; 
 
    var j = 0; 
 
    for (var i = rawNum.length; i > 0; i--) { 
 
    j++; 
 
    if (((j % 3) == 1) && (j != 1)) 
 
     retNum = rawNum.substr(i - 1, 1) + "." + retNum; 
 
    else 
 
     retNum = rawNum.substr(i - 1, 1) + retNum; 
 
    } 
 
    return retNum; 
 
}
<form name="form1"> 
 
    <input id="harga" onkeyup="formatangka_titik()" type="text" /> 
 
    <input id="diskon" onkeyup="formatangka_titik()" type="text" /> 
 
    <input id="bayar" onkeyup="formatangka_titik()" type="text" /> 
 
</form>

+0

@ Хавика сделал это для вас? – thanksd

+0

does not work bro – Havika

+0

solve bro, @thanksd, thanks – Havika

Смежные вопросы