是否有可能有一个字符串,如$10.50
并在javascript中对其进行数学运算?我在这个网站上找不到答案。
HTML:
<p id="cost">$10.50</p>
---
<div id="output"></div>
JavaScript的:
$('#output').html($('#cost').html() / 2);
输出:
NaN
答案 0 :(得分:1)
你可以在上面做数学如果你使用剥离美元符号;由于它通常位于第一个位置,因此您只需对字符串值使用.substring(1)
。
$('#output').html($('#cost').html().substring(1) / 2);
答案 1 :(得分:0)
你可以这样做:
<p id="cost" data-value="1050" data-currency="$">$10.50</p>
---
<div id="output"></div>
var el = $("#cost");
$('#output').html( el.data("currency") + (el.data("value") / 2 / 100));
答案 2 :(得分:0)
不,但为什么不将'$'分开:
<p>$<span id="cost">10.50</span></p>
或者您必须解析字符串并删除'$“
答案 3 :(得分:0)
没有。你不能对字符串做数学。如果你这样做,JavaScript会尝试隐式类型转换,但对于不以数字开头的字符串会失败 - 导致NaN
。
首先,剥去美元符号(例如.slice(1)
),然后使用parseFloat
获取数字。现在进行划分,然后使用.toFixed(2)
将其转换回字符串进行输出。更新了小提琴:http://jsfiddle.net/QkCyM/7/。
不要忘记What Every Programmer Should Know About Floating-Point Arithmetic。