这是我的Javascript:
var total = $(this).text();
var calc = total * 100;
var paid = calc * 0.333;
HTML很简单:
<div class="price"><span>£0.21</span></div>
如何从字符串中删除'£'字符,以便我可以进行数学计算?
答案 0 :(得分:4)
这将删除字符串中不是数字或小数点的所有字符。
var total = $(this).text().replace(/[^\d.]/g,'');
var calc = total * 100;
var paid = calc * 0.333;
如果有任何逗号分隔符也很有用。
*
将处理来自String的转换。如果您想要更明确的内容,可以使用一元+
运算符。
var total = +($(this).text().replace(/[^\d.]/g,'')); // <-- has + at beginning
var calc = total * 100;
var paid = calc * 0.333;
答案 1 :(得分:1)
您需要slice
字符串才能删除'£':
var total = $(this).text().slice(1);
答案 2 :(得分:1)
如果你的字符串开头总是有一个'£'符号,你可以在分配总数之前使用一个子字符串(这次将正确地从字符串转换为数字)。
您还可以依赖正则表达式,例如
/[-+]?[0-9]*\.?[0-9]*/
干杯,
-stan
答案 3 :(得分:1)
答案 4 :(得分:0)
查看parseFloat功能。
编辑:哎呀,我打算写parseFloat;几点差异。
答案 5 :(得分:0)
使用SubStr从第二个字符(#1)进行复制。使用parseFloat转换为float。
var total = $(this).text().substr(1).parseFloat();
var calc = total * 100;
var paid = calc * 0.333;
答案 6 :(得分:0)
parseint是错的..它将是parsefloat ......
但你需要在parsefloat之前删除第一个char,否则它将返回NaN(不是数字)
var total = "£0.21";
total = total.substring(1);
total = parseFloat(total);
var calc = total * 100;
var paid = calc * 0.333;
alert(paid);