如何在javascript中解析货币IDR

How Resolve Currency IDR in javascript

本文关键字:货币 IDR javascript      更新时间:2023-09-26

如何解析这样的脚本?例如,计算或减去货币IDR中的变量A和变量B谢谢,任何人都可以帮我。。。

<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>

我认为您的问题是将两个字符串添加在一起,这将连接字符串,而不是添加数值。

添加字符串类型的示例:

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

添加int类型的示例:

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

JavaScript是松散类型的,所以变量的类型并不总是很明显

您可以做一些事情来将字符串类型变量更改为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>

在上面的例子中,我们如何计算IDR货币的百分比。