我们最近从 Coldfusion 7 迁移到了 Coldfusion 8。我们的一个报告 flex 应用程序获取 cfc 查询的返回结果,并在该 ArrayCollection 中添加一列。它适用于冷融合 7,但现在,在冷融合 8 中,它将该列视为字符串而不是数字,这会导致负值出现 NaN 错误。它在数据库中是 numeric(12,2) NOT NULL。当我将它转换为 Number(var) 时,它在 Flex 中有效,但我不想在我们所有的项目中这样做……有人遇到过这个问题吗?
问问题
292 次
1 回答
3
实际上,我们昨天也刚刚看到。CF 7 和 CF 8 是唯一的区别。这样做不起作用:
var num:Number = e.result.MYNUMBERFIELD as Number;
但这确实:
var num:Number = Number(e.result.MYNUMBERFIELD);
我不认为你的循环和制作 csv 是相关的。我认为这是一个纯粹的CF8问题。我会查看错误库,看看我是否注意到这样的事情。我们还没有时间进一步研究它。我也对这两种强制转换方法之间的区别感兴趣。
2009 年 9 月 24 日更新:
在本地至少一台机器上,ColdFusion 8.0.1 的 Cumulative Hot Fix 3 已修复此问题。您可以在此处获取此修补程序:http: //kb2.adobe.com/cps/511/cpsid_51180.html。该页面还包含安装修补程序的说明(如有必要)。
其他查看此问题的人请注意:Adobe 建议您仅在遇到该页面上列出的一个或多个问题时才将 CHF3 应用于 ColdFusion 8.0.1。如果您在这个问题中遇到问题,那当然意味着您。
于 2009-09-15T19:43:05.327 回答