如何在Javascript中添加美元金额
How do I add to dollar amounts in Javascript
我只是想把数字(如果你愿意的话,货币)1.5和1.47加在一起,等于1.97。
这是如何完成的?我不知道我不知道该怎么做!:)
var discountAmount = 0;
var ogCookie = < %= strJsonCookie % >
for (var i = 0; i < ogCookie.products.length; i++) {
discountAmount = parseFloat(discountAmount) + parseFloat(ogCookie.products[i].discount_amount);
}
alert(discountAmount);
用parseFloat
代替parseInt
:
parseFloat("1.19") + parseFloat("2.82") == 4.01
正如其他人提到的,您应该使用parseFloat
而不是parseInt
。但是,由于精度问题,在显示计算结果时可能还需要使用.toFixed(2)
。使用您的示例,1.5 + 1.47
可能会导致2.9699999999999998
—使用.toFixed(2)
将会把这个不精确值修正为2.97
。
var discountAmount = 0;
var ogCookie = < %= strJsonCookie % >
for (var i = 0; i < ogCookie.products.length; i++) {
discountAmount += parseFloat(ogCookie.products[i].discount_amount);
}
// Output at 2 decimal places
alert(discountAmount.toFixed(2));
还请注意,我还稍微优化了您的代码,通过删除对parseFloat
的不必要调用并使用附加赋值操作符(+=
)。
使用'parsefloat()'来提取数字
使用parseFloat,而不是parseInt。parseInt将把所有内容转换为整数。
另外,为什么你使用什么我假设是php输出相同的值javascript几次?输出一次并将其存储在一个变量中!这也可以让你把javascript放在一个单独的文件中,并通过CDN缓存它/传递它。
1.47 + 1.5(两个数都是实数)不等于1.97。也许这就是你的问题?
否则,你的问题是什么?上面的代码有什么问题?jsFiddle可以演示吗?
相关文章:
- 正在添加'X'按钮,在文本字段旁边使用javascript
- 如何在映射数组中添加换行符
- 正在将数据主题添加到所有项目
- ZeroClipboard-在复制之前添加到值
- 我可以在json对象中添加一个函数吗
- 将输入字段中的文本提交到我的数据库,同时将其添加到我的列表中
- 正在SharePoint 2013母版页中添加JQuery移动文件
- 如何添加浮动和非浮动,其他
- 添加文字和评论功能更新Div
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- 在 Javascript 中将 $(美元符号)添加到多个数字中
- 如何在javascript/jquery中添加字符串美元金额
- 在 Firebase 中使用用户的副本时,$conf 美元会添加到对象中,因此我无法将用户复制到新位置
- 添加一个美元符号$到我的答案
- 美元的范围.当从指令中添加值时,数组上的$watch不会更新
- 如何向字段添加美元符号而不将其包含在值中
- jQuery美元(窗口).高度错误的动态添加内容
- TypeError:美元.添加jquery后,XXXXX不再是函数
- AngularJS动画美元.输入不添加ng-enter和ng-enter-active类
- 如何在Javascript中添加美元金额