使用ColdFusion中的QueryNew和QuerySetCell保存到3个小数位

时间:2013-06-20 19:25:39

标签: coldfusion

Coldfusion 9

我有这个问题:

<cfset final_standings_table = QueryNew("p_final_standing_id,f_group_id,win,loss,tie,points,win_loss_per,games_played,f_division_id,str_division,str_group_name,str_group_url,score","CF_SQL_INTEGER,CF_SQL_INTEGER,CF_SQL_INTEGER,CF_SQL_INTEGER,CF_SQL_INTEGER,CF_SQL_DECIMAL,CF_SQL_DECIMAL,CF_SQL_INTEGER,CF_SQL_INTEGER,CF_SQL_VARCHAR,CF_SQL_VARCHAR,CF_SQL_VARCHAR,CF_SQL_INTEGER")>

在第7位看(CF_SQL_DECIMAL)(win_loss_per)

我的客户想要三位小数,但是当我尝试记录计算时

<cfset temp = QuerySetCell(final_standings_table, "win_loss_per", "#evaluate((total_wins + total_ties) / games_played)#", fml_row_count)>                                                               

我似乎只能得到两位小数。

1 个答案:

答案 0 :(得分:1)

我不知道您的代码/值是怎么回事,但是您的值最终得到的小数位数与querySetCell()无关,或者您将数据放入查询中所有

此代码表明,如果有两个以上的小数位,那就没问题了:

q = queryNew("data", "Decimal");
queryAddRow(q);
querySetCell(q, "data", pi());
writeDump(q);

这导致3.141592653589793在查询中。如果要将其截断为3DP,请使用numberFormat()来执行此操作。

因此,如果这对您不起作用,您需要向我们提供更多信息。

你能提供一些自包含,完全独立的代码来证明这个问题吗? IE:一个责备案例。