javascript - 将字符串转换为整数并获取两个数字的百分比

标签 javascript

我想做的是制作一个捐赠进度条。我的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/

相关文章:

javascript - Bootstrap 面板未发生单击事件

javascript - AngularJs $http 不适用于跨域

javascript - Twitter 支持 OAuth2 授权代码流程吗?

javascript - 使 Angular UI Accordion 完全可点击,而不仅仅是标题标签

javascript - jQuery Ajax 问题在本地加载 XML - Safari 版本 11.0 - 错误 : XMLHttpRequest cannot load . xml。预检响应不成功

Javascript i (index, iterator) : if used as a variable, 它总是被解释为索引位​​置吗?

javascript - 图像旋转 - 根据图像高度和宽度调整 Canvas 大小

javascript - Angular-UI-Grid-Edit 可以与 "controller as"语法一起使用吗?

javascript - 如何使用 Angular 捕获数据并发送到服务器 API

javascript - 将数组从 javascript 解析为 ruby​​ on rails 但将其作为字符串获取