Javascript 将HTML5数据类型转换为数字
背景:我想加减数字。我正在使用HTML数据属性。parseInt和Number并不像我想象的那样工作Javascript 将HTML5数据类型转换为数字,javascript,html,custom-data-attribute,Javascript,Html,Custom Data Attribute,背景:我想加减数字。我正在使用HTML数据属性。parseInt和Number并不像我想象的那样工作 <div class="originalNumber" data-original-number="1,000,000">1,000,000</div> <div class="bucket1" data-bucket="100,000">100,000</div> <div class="bucket2" data-bu
<div class="originalNumber" data-original-number="1,000,000">1,000,000</div>
<div class="bucket1" data-bucket="100,000">100,000</div>
<div class="bucket2" data-bucket="200,000">200,000</div>
<div class="bucket3" data-bucket="300,000">300,000</div>
console.log=1000000
现在我想从中加减。例如,单击bucket1,1000000变为900000 1000000-100000
问题是我无法将字符串转换为数字。我尝试过使用parseInt和Number,但没有效果
返回1
var getOriginal=Number(getOriginal);
console.log(getOriginal);
返回楠
我缺少什么?尝试使用正则表达式:
var getOriginalNumeric = parseInt(getOriginal.replace(/[^\d\.]/gi, ''));
这将去除除数字和小数以外的任何内容。尝试使用正则表达式:
var getOriginalNumeric = parseInt(getOriginal.replace(/[^\d\.]/gi, ''));
这将删除除数字和小数以外的任何内容。在使用parseInt之前,需要删除包含数字的字符串中的所有逗号
有一些关于最佳方法的信息。在使用parseInt之前,您需要删除包含数字的字符串中的所有逗号
有一些关于最好的方法的信息。问题是逗号被解释为十进制符号,这是大多数国家的标准,但美国使用句点作为十进制分隔符 您需要替换逗号的:
getOriginal = parseInt(getOriginal.replace(/,/g, ""), 10);
这里有一个活生生的例子:问题是逗号被解释为十进制符号,这在大多数国家是标准的,但美国使用句点作为十进制分隔符 您需要替换逗号的:
getOriginal = parseInt(getOriginal.replace(/,/g, ""), 10);
下面是一个活生生的例子: