swi*_*ony 14 javascript jquery
有人可以帮我解决这个算术问题的JavaScript/jQuery解决方案:
我需要从另一个中减去一个数字.
问题是数字有一个美元符号(因为它的钱),因此jQuery将它们视为字符串而不是数字.
我创建了两个变量 - toalAssets和totalLiabilites.我想从前者中减去后者并将结果放入另一个名为的变量中netWorth.
也许我需要用parseFloat()?
但我不知道怎么样 - 这一切都在我头上!
Dan*_*llo 29
var totalLiabilites = '$52.34';
var toalAssets = '$85.12';
var pattern = /[^0-9.-]+/g;
var result = parseFloat(toalAssets.replace(pattern, '')) -
parseFloat(totalLiabilites.replace(pattern, ''));
// result: 32.78
Run Code Online (Sandbox Code Playgroud)
注意:在JavaScript中,建议1将货币处理为表示分数(8512而不是85.12)的整数.这是为了避免浮点运算的问题.0.1 + 0.2 == 0.3在JavaScript中返回false,但幸运的是浮点中的整数运算是精确的,因此可以通过缩放避免十进制表示错误.
您可能需要查看以下帖子以进一步阅读此主题:JavaScript的数学运算是否已损坏?
在将值呈现给浏览器时,您始终可以应用货币符号格式.
1 Douglas Crockford:JavaScript:好的部分:附录A - 可怕的部分(第105页).
parseFloat() 将无效,因为您的字符串以非数字(美元符号)开头.
您只需执行替换以删除美元符号,并使用parseFloat获取值:
totalAssets = parseFloat(totalAssets.replace('$', ''));
totalLiabilities = parseFloat(totalLiabilities.replace('$', ''));
var difference = '$' + (totalAssets - totalLiabilities);
Run Code Online (Sandbox Code Playgroud)
此代码用浮点数替换原始字符串.您也可以将它们加载到新变量中.同样,差异不一定要有'$'.
| 归档时间: |
|
| 查看次数: |
11069 次 |
| 最近记录: |