我想做的是制作一个捐赠进度条。我的html结构是:
<div class="hgoal" style="text-align: center;">My goal is to raise $<span id="mygoal">9,999.00</span></div>
<div class="donation-total">Total Donation<span id="total-donation">1,000.00</span></div>
到目前为止,我的 JavaScript 是获取 mygoal 和total-donation 的innerHTML 值。
var mygoal = document.getElementById("mygoal").innerHTML;
var totalgoal = document.getElementById("total-donation").innerHTML;
我得到的结果是:
mygoal = "9,999.00";
total-donation = "1,000.00";
我相信这是一个字符串而不是整数,并且使用 parseInt()
只给我第一个数字。
任何人都可以告诉我如何将其转换为可用于计算的整数吗?示例:
mygoal + total-donation = 10,999.00
而且,知道如何获得这两个变量的百分比吗?
最佳答案
使用 .replace(/,/g,'')
替换逗号,然后您将获得类型强制的魔力,在计算过程中将字符串转换为数字...
var mygoal = document.getElementById("mygoal").innerHTML.replace(/,/g,'');
var totalgoal = document.getElementById("total-donation").innerHTML.replace(/,/g,'');
如果您在字符串上使用+
,它们将相互附加,但其他数学运算符(*/-
等...)将首先强制字符串转化为数字。要强制强制转换,您可以乘以 1,或者使用 Number("123123.123")
...
Number(mygoal) + Number(totalgoal); // using addition, so coerce strings to numbers
(mygoal / total_donation) * 100; // does not need coercion
关于javascript - 将字符串转换为整数并获取两个数字的百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36568567/