我正在开发ColdFusion 9 - cfchart, 这是我的代码的一部分
<cfchart format="flash" show3d="true" title="Assigned Amount vs Projection Amount" scaleto="#scaleToForAmount#" scaleFrom="0" backgroundColor="white" font="Arial" seriesplacement="stacked" chartHeight="400" chartWidth="800" labelFormat="number" >
<cfchartseries type="bar" query="chartData" itemcolumn="#variables.columnList[1]#Name" valuecolumn="PAID" seriesColor="##155D7F" seriesLabel="amout" paintStyle="plain" >
</cfchartseries>
<cfchartseries type="bar" query="chartData" itemcolumn="#variables.columnList[1]#Name" valuecolumn="PTP" seriesColor="##2AB9FF" paintStyle="plan" seriesLabel="PTP" >
</cfchartseries>
<cfchartseries type="bar" query="chartData" itemcolumn="#variables.columnList[1]#Name" valuecolumn="PDC" seriesColor="##0A2E40" paintStyle="domain" seriesLabel="PDC" >
</cfchartseries>
但是当 scaleTo 的值增加超出整数限制时,我会遇到问题,它会显示错误。即使将它转换为string,double或bigInt,它也不会接受这些值。并继续显示错误“无法将值3.1616321275E9转换为整数,因为它无法放入整数”。任何人都可以帮我摆脱这个。
答案 0 :(得分:2)
您正在将浮点值传递给scaleTo属性。 scaleTo属性需要一个整数值。
我还建议不要在图表中使用flash格式。闪存格式已在较新版本的CF中进行了描述。如果您的代码迁移到较新版本的CF,则会抛出错误。
<强>更新
ColdFusion支持-2,147,483,648和2,147,483,647(32位有符号整数)之间的整数。您可以将此范围之外的值指定给变量。 ColdFusion最初将数字存储为字符串。如果在算术表达式或与数字相关的操作中使用它,ColdFusion会将其转换为浮点值,保留其值,但会丢失精度。值3161632127超出范围。因此CF正在将值转换为浮点值。由于值是浮点数,CF正在抛出错误。查看document。