【问题标题】:Flex 3 / Coldfusion 8 Problem with NumbersFlex 3 / Coldfusion 8 数字问题
【发布时间】:2009-09-15 19:27:06
【问题描述】:

我们最近从 Coldfusion 7 迁移到了 Coldfusion 8。我们的一个报告 flex 应用程序采用 cfc 查询的返回结果并在该 ArrayCollection 中添加一列。它适用于冷融合 7,但现在,在冷融合 8 中,它将该列视为字符串而不是数字,这会导致负值出现 NaN 错误。它在数据库中是 numeric(12,2) NOT NULL。当我将它转换为 Number(var) 时,它在 Flex 中有效,但我不想在我们所有的项目中这样做......有人遇到过这个问题吗?

【问题讨论】:

    标签: apache-flex coldfusion types amf cfc


    【解决方案1】:

    实际上,我们昨天也刚刚看到。 CF 7 和 CF 8 是唯一的区别。这样做不起作用:

    var num:Number = e.result.MYNUMBERFIELD as Number;
    

    但确实如此:

    var num:Number = Number(e.result.MYNUMBERFIELD);
    

    我不认为你的循环和制作 csv 是相关的。我认为这是一个纯粹的CF8问题。我会查看错误库,看看我是否注意到这样的事情。我们还没有时间进一步研究它。我也对这两种强制转换方法之间的区别感兴趣。

    2009-09-24 更新:

    在本地至少一台计算机上,ColdFusion 8.0.1 的累积热修复 3 已修复此问题。您可以在此处获取此修补程序:http://kb2.adobe.com/cps/511/cpsid_51180.html。如果需要,该页面还包含安装修补程序的说明。

    其他查看此问题的人请注意:Adobe 建议您仅在遇到该页面上列出的一个或多个问题时才将 CHF3 应用于 ColdFusion 8.0.1。如果您在这个问题中遇到问题,那当然是您。

    【讨论】:

    • 我也尝试将查询本身转换为 Numeric(12,2),但这没有帮助。如果我也找到任何东西,我会告诉你的。
    • 只是一个更新...仍然没有找到任何东西,我想我要做的就是通过并更新我的项目,并将其转换为适用的数字。似乎只有当我尝试为我的 ResultEvent 对象设置一个数字变量时才会发生这种情况
    • 我查看了公共错误库并没有找到类似的东西。不过我会再挖一点。
    • 请查看我的答案的更新,我想我们找到了解决方案。
    • 我们运行了更新,但它似乎没有起作用:/ 我们只是在必要的地方进行了投射。此外,我们的数据网格中具有美元金额的列在 cf8 上没有正确排序,因此我们必须实现 sortCompareFunction.... 乏味
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-25
    • 1970-01-01
    • 2011-04-24
    • 1970-01-01
    • 1970-01-01
    • 2018-02-15
    相关资源
    最近更新 更多