在ColdFusion中使用QueryNew和QuerySetCell保存到小数点后3位

在ColdFusion中使用QueryNew和QuerySetCell保存到小数点后3位,coldfusion,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

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\u SQL\u DECIMAL)(赢/亏)

我的客户要求小数点后三位,但当我试图记录计算结果时

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


我似乎只能把它保留到小数点后两位

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

此代码说明小数点后两位以上没有问题:

q = queryNew("data", "Decimal");
queryAddRow(q);
querySetCell(q, "data", pi());
writeDump(q);
这导致查询中出现
3.141592653589793
。如果要将其截断为3DP,请使用
numberFormat()
执行此操作

所以,如果这对你不起作用,你需要向我们提供更多关于发生了什么的信息


您能提供一些自我包含的、完全独立的代码来演示这个问题吗?IE:repo case.

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

此代码说明小数点后两位以上没有问题:

q = queryNew("data", "Decimal");
queryAddRow(q);
querySetCell(q, "data", pi());
writeDump(q);
这导致查询中出现
3.141592653589793
。如果要将其截断为3DP,请使用
numberFormat()
执行此操作

所以,如果这对你不起作用,你需要向我们提供更多关于发生了什么的信息


您能提供一些自我包含的、完全独立的代码来演示这个问题吗?IE:一个复制案例。

使用CF\u SQL\u FLOAT,如果你想要小数点后3位,还可以看看NumberFormat函数。CF\u SQL\u FLOAT似乎不在查询的cf9中使用CF\u SQL\u FLOAT,如果你想要小数点后3位,还可以看看NumberFormat函数。CF\u SQL\u FLOAT似乎不在查询的cf9中。我发现了问题。这不是我的疑问。基本上,当我在qofq上循环并将其插入数据库时,我没有使用cfqueryparam来设置比例,因此它默认为2。没关系。我发现了问题。这不是我的疑问。基本上,当我循环该qofq并将其插入数据库时,我没有使用cfqueryparam设置比例,因此它默认为2。