【问题标题】:scaleTo in cfchart not workingcfchart 中的 scaleTo 不起作用
【发布时间】:2016-03-22 21:42:52
【问题描述】:

我正在研究 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 的值增加到超过整数限制时,我遇到了问题,它显示错误。即使将其转换为字符串、double 或 bigInt,它也不接受这些值。并继续显示“无法将值 3.1616321275E9 转换为整数,因为它不能放入整数”的错误。谁能帮我摆脱这个。

【问题讨论】:

  • 我知道这不是一个很好的答案,但我的建议是使用 Javascript 图表库而不是 cfchart,例如 ChartJS / Flot / D3 等

标签: coldfusion coldfusion-9 cfchart


【解决方案1】:

您正在将浮点值传递给 scaleTo 属性。 scaleTo 属性需要一个整数值。

我也建议不要使用 Flash 格式的图表。 Flash 格式已在较新版本的 CF 中被弃用。如果您的代码迁移到较新版本的 CF,它将引发错误。

更新:

ColdFusion 支持介于 -2,147,483,648 和 2,147,483,647 之间的整数(32 位有符号整数)。您可以将超出此范围的值分配给变量。 ColdFusion 最初将数字存储为字符串。如果在与数字相关的算术表达式或运算中使用它,ColdFusion 会将其转换为浮点值,保留其值,但会丢失精度。值 3161632127 超出范围。因此 CF 将值转换为浮点数。由于该值是浮点数,CF 会抛出错误。查看document

【讨论】:

  • 感谢您的回复,但传递给 scaleTo 的值实际上是 bigInteger。在上面的代码中它是 3161632127 但不知道为什么coldfusion显示错误消息。并将这个值转换为 3.1616321275E9 这个。
  • @SantoshDahifale - 你传入的内容并不重要。重要的是 scaleTo 属性将接受什么。正如文档所说,它只接受整数。所以不管你怎么切,比这更大的东西都行不通。
  • @Tushar Bhaware - RE: 因为值是浮点数,CF 会抛出错误 好吧,从技术上讲,这是因为数字太大,而不是因为它是浮点数点数(即 java.lang.Double)。 CF 很乐意将输入转换为预期的类型 - 如果它足够小以适合 Integer。
猜你喜欢
  • 1970-01-01
  • 2015-01-27
  • 2014-08-29
  • 2022-12-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多