我正在组装一个购物车,我将购物车数据保存在一个数组中,数组内部是一个结构,用于保存各个产品信息。我需要获取结构中totalprice列的总和,请参见下面的转储,我已经尝试过

<cfset carTotal = ArraySum(session.mycart[ "totalPrice" ])>但这会产生错误,“值totalprice无法转换为数字”?这是因为我在结构中使用arraysum吗?

任何帮助,将不胜感激,谢谢。

最佳答案

如果mycart是一个Query对象,它将是一个简单的ArraySum(mycart.totalPrice)

由于它是一个结构数组,因此您必须自己对其进行循环,这仍然很容易:

<cfset sum = 0>
<cfloop array="#session.mycart#" index="item">
    <cfset sum += item.totalPrice>
</cfloop>

<cfdump var="#sum#">


当需要全精度时,请不要忘记使用PrecisionEvaluate()

10-07 22:04