如何在JavaScript中成倍增加?

问题描述 投票:-2回答:2

function multiplicar() {
  m1 = document.getElementById("multiplicando").value;
  m2 = document.getElementById("multiplicador").value;

  m3 = m2 * 0.01;
  x = m3 * parseFloat(m1);
  x1 = x - 2380000;

  document.getElementById("resultado").value = x1.toLocaleString();
}
const numberWithCommas = (x) => {
  return x.toString().replace(/\B(?=(\d{3})+(?!\d))/g, ",");
}

function Sumar() {
  var n1 = 1;
  var n2 = document.getElementById('multiplicador').value;
  var suma = parseInt(n1) + parseInt(n2);
  document.getElementById("multiplicador").value = suma;
  multiplicar();
}

function resta() {
  var r1 = 1;
  var r2 = document.getElementById('multiplicador').value;
  var resta = parseInt(r2) - parseInt(r1);
  document.getElementById("multiplicador").value = resta;
  multiplicar();
}
<form id="multiplicar">
  <div class="container-block">
      <label>$</label> <input type="text" name="multiplicando" id="multiplicando" value="300000000" onChange="multiplicar();" onkeydown="noPuntoComa( event )" placeholder="Escribe el valor">
  </div>

  <div class="container-block">
    <input type="button" onclick="resta();" value="-" class="resta">
    <div class="container-input">
      <input type="text" name="multiplicador" id="multiplicador" value="3" onChange="multiplicar();" onkeyUp="multiplicar();" min="0" pattern="^[0-9]+">
      <label style="    right: 130px;">%</label>
    </div>
    <input type="button" onclick="Sumar();" value="+" class="suma">
  </div>

  <div class="container-block-resultado">
      <label>$</label> <input type="text" id="resultado">
  </div>

</form>

我正在学习一些javascript,我想用数千个做一个小的数学运算。示例:300,000,000 * 3%= 900,000这是您应该向用户显示的内容,并且用户可以像计算器一样提高或降低百分比或值,而我找不到如何将数字相乘在javascript中有数千个百分比。

javascript
2个回答
3
投票

所以将你的字符串转换为数字。删除逗号并转换为数字。将百分比转换为十进制数。如果要显示逗号,请添加逗号。

function removeComma (str) {
  return Number(str.replace(/,/g, ''))
}
function makePercentage (str) {
  return Number(str.replace(/%/, '')) / 100
}
function addCommas (number) {
  return number.toLocaleString()
}

var str1 = "300,000,000"
var str2 = "3%"

var mathResult = removeComma(str1) * makePercentage(str2)
var result = addCommas(mathResult)

console.log(result)

0
投票

Javascript有局限性,所以在这种情况下,最大安全整数是2147483647.还有一些库处理大的int值计算BigNumber.js。

我建议使用整数,但是如果你需要使用非常大的整数,我会建议使用大数或大整数库,例如:

http://jsfromhell.com/classes/bignumber https://silentmatt.com/biginteger/缺点是您必须使用这些数字对象及其方法而不是原始的Number类型和标准JS运算符,但是对于大数字操作,您将具有更大的灵活性。

© www.soinside.com 2019 - 2024. All rights reserved.