在Angular JS中计算销售价格
Calculate Sale Prices in Angular JS
所以我有一个简单的表单,它提供了产品成本、加价和最终销售价格。
但是,angularjs没有为我提供的内容返回正确的值。
考虑以下内容:
I have a product that costs me $50.00 to get in my store.
To make a profit, I mark this product up 30% or .30.
So my final sale price to my customers would be $65.00
我们使用一个简单的数学计算,如下所示:
Item Cost + (Item Cost x Markup Percentage) = Price
$50.00 + ($50.00 x .30) = $65.00
在我的HTML中,我有一个简单的表单
<form>
<input type="text" ng-model="pr.cost" class="form-control" placeholder="Cost" />
<input type="text" ng-model="pr.markup" class="form-control" placeholder="Markup %" />
<input type="text" class="form-control" placeholder="{{pr.type}} Sale" value="{{pr.cost+(pr.cost*pr.markup)|currency}}" readonly/>
</form>
当我把上面给出的数字输入这个表格时,我得到以下结果:
Cost: $50
Markup: .30
Sale Price: $5,015.00
那可是30%的加价啊!我到底做错了什么?
对于喜欢小提琴的人,我在这里创建了一个JSFiddle:http://jsfiddle.net/p20roLLu/
这是因为JavaScript将pr.cost
作为字符串。它看到(pr.cost*pr.markup)
并自动转换为整数类型,但pr.cost将其丢弃,因此它添加"50"+"15"
并返回"5015"
。这可以通过强制JavaScript将pr.cost
解释为整数来解决,一种简单的方法是乘以或除以1:
{{(pr.cost*1)+(pr.cost*pr.markup)|currency}}
这不是一个完美的或干净的解决方案,但它至少会工作。
看起来问题是+
。在你得到的那一刻:
50 + (50*.3) = 50+15 -> 5015 -> $5,015
As you can
value="{{pr.cost*1+(pr.cost*pr.markup)|currency}}"
对于一个cleear版本,你应该使用parseInt()
:
如何在Angular表达式中解析String到Int ?
相关文章:
- 计算多个项目的价格
- 用数量计算价格
- 如果同一页面上有多个元素使用相同的ID,jQuery将计算价格
- 我如何获得这个javascript来计算两个监听器字段作为价格
- 在Javascript中创建一个奇特的价格计算
- 用于计算产品价格的JavaScript构建和算法
- javascript计算价格的小算法
- 如何根据HTML下拉列表中的数量选择来计算价格
- 正在计算分层价格
- 点击可选复选框时如何计算价格(使用贝宝支付表单)
- 区间价格计算
- 更改选择框时计算价格变化
- 使用 jquery 计算价格和 TVA
- 计算价格总和
- 根据文本区域中的行计算值/价格
- 根据输入数量(数量)变化计算价格
- 计算折扣价格不显示为一个数字在jquery
- 将父DIV's与ID相似的子元素切换以计算其价格
- 根据用户对数组的选择计算交换价格
- 在Angular JS中计算销售价格