javascript - 用逗号和特殊字符输入乘法

标签 javascript jquery function input var

目标是:如果我在第一个输入中写入 10,000(应该是 10000)并将其乘以 0.005,则必须是 50,但现在是 0,50 - 使用乘法时只需删除“,”。

我还想在函数显示最终值时添加“$”符号。 ($10000)

<input type="text" id="results-input-1"></p>
<input type="text" id="results-input-2" value="0.005"/>

<span id="results-cal-final">$</span>

<script>
var multiplyShares = function() {
   var val1 = parseFloat($('#results-input-1').val())
   var val2 = parseFloat($('#results-input-2').val())

   val3 = val1 * val2 || "Invalid"
   $("#results-cal-final").html(val3)
}
$("#results-input-1").keyup(function() { multiplyShares(); });
$("#results-input-2").keyup(function() { multiplyShares(); });
</script>

最佳答案

您可以使用 $('#results-input-1').val().replace(/,/g, "") 删除 ,

添加 $ 的正确位置是 .html()。您也可以调用 .toFixed(2) 在显示的值中添加小数位。

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>

Type 10,000 below:<br>

<input type="text" id="results-input-1"></p>
<input type="text" id="results-input-2" value="0.005"/>

<span id="results-cal-final">$</span>

<script>
var multiplyShares = function() {
   var val1 = parseFloat($('#results-input-1').val().replace(/,/g, ""))
   var val2 = parseFloat($('#results-input-2').val())

   var val3 = val1 * val2;
   if (val3) {
     // add two decimals if needed, prepend $
     val3 = "$" + /^\d+(\.\d{1,2})?$/.test(val3+'') ? val3.toFixed(2) : val3);
   } else {
     val3 = "Invalid";
   }

   $("#results-cal-final").html(val3)
}
$("#results-input-1").keyup(function() { multiplyShares(); });
$("#results-input-2").keyup(function() { multiplyShares(); });
</script>

关于javascript - 用逗号和特殊字符输入乘法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49503702/

相关文章:

javascript - 包含使用 webpack 编译的包以在另一个 js 文件中使用

javascript - 根据复选框检查和设置 url 变量

javascript - 在评论中链接用户

jQuery addClass() 不起作用

mysql - 如何将SQL查询变成SQL函数

javascript - 检查隐藏表单输入在表单提交上是否具有值

javascript - 当语法有效时,Azure 函数提示 JS 语法错误

javascript - div 中的 scrollTop 不起作用

c - 一种奇怪的函数定义方式

javascript - 如何制作这样的数据类型