添加两个数字时总是会出错

时间:2012-08-02 19:01:23

标签: php math

这是我到目前为止遇到的最奇怪的问题之一, 我有两个数字,我试图在PHP中添加,但由于某种原因,PHP没有给我正确的结果。

我正在尝试添加$itemPrice $shipPrice 3.50 + 2.806.30应该给我5,而是floatVal() function

我尝试使用foreach($resp->ListOrderItemsResult->OrderItems->OrderItem as $order){ $itemPrice = $order->ItemPrice->Amount; $shipPrice = $order->ShippingPrice->Amount; $total = $itemPrice + $shipPrice; $arr[] = array( 'sku' => $order->SellerSKU, 'isbn' => $order->ASIN, 'title' => $order->Title, 'item_price' => $itemPrice, 'ship_price' => $shipPrice, 'total' => $total, 'quantity_shipped' => $order->QuantityShipped, ); } ,但没有任何区别,是否有人有任何想法?

下面的

代码示例

php代码

sku             isbn         title  item_price  ship_price  total   quantity_shipped
VM-F5TU-BN0K    1844831531   xxxxx  3.50        2.80            5   1

输出

{{1}}

4 个答案:

答案 0 :(得分:5)

我的猜测是$ itemPrice和$ shipPrice是字符串,当你尝试将它们组合在一起时,你得到的值为5.确保你专门将$ itemPrice和$ shipPrice作为浮点运行,如果存储在你的将对象作为字符串。

答案 1 :(得分:2)

检查数据库中的数据类型输出和价格字段的数据类型。

答案 2 :(得分:1)

$total = (float) $itemPrice + (float) $shipPrice;

答案 3 :(得分:1)

我知道很多程序员不用处理小数就会把价格换成美分,然后将美分兑换成美元金额。您可以通过goggling“PHP虚拟属性”找到更多相关信息。

这可以防止舍入错误等。计算机可以更好地处理整数。