1

是否可以有一个字符串,比如$10.50在 javascript 中对其进行数学运算?我在这个网站上找不到答案。

JSFIDDLE

HTML:

<p id="cost">$10.50</p>
---
<div id="output"></div>

​ JavaScript:

$('#output').html($('#cost').html() / 2);​

输出:

NaN
4

4 回答 4

1

如果您使用去掉美元符号,您可以对其进行数学计算;由于它通常位于第一个位置,因此您可以简单地.substring(1)在字符串值上使用。

$('#output').html($('#cost').html().substring(1) / 2);​
于 2012-12-11T00:36:23.423 回答
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));​

http://jsfiddle.net/QkCyM/5/

​</p>

于 2012-12-11T00:39:45.347 回答
0

不,但为什么不将'$'分开:

<p>$<span id="cost">10.50</span></p>

或者你必须解析字符串并去掉'$"

于 2012-12-11T00:40:19.403 回答
0

不,你不能对字符串进行数学运算。如果你这样做,JavaScript 将尝试隐式类型转换,但对于不以数字开头的字符串,它会失败 - 导致NaN.

首先,去掉美元符号(例如 by .slice(1)),然后用于parseFloat获取数字。现在进行除法,然后.toFixed(2)用于将其转换回字符串以输出。更新小提琴:http: //jsfiddle.net/QkCyM/7/

并且不要忘记每个程序员都应该知道的关于浮点运算的知识

于 2012-12-11T00:43:07.390 回答