值得通过CFQueryParam进行四舍五入

Jac*_*sky 3 coldfusion coldfusion-9

我有一个自我提交表单,其数据在提交后在cfquery中使用.当用户提交小数而不是整数时,我遇到了问题.

这适用于轮胎尺寸

<select>
    ...
    <option value="19.0">R19</option>
    <option value="19.5">R19.5</option>
    ...
</select>
Run Code Online (Sandbox Code Playgroud)

然后,如果提交表单,结果将传递给cfquery以仅显示该大小的结果.

<cfif form.size gt 0 > 
    AND ts.decDiameter = <cfqueryparam cfsqltype="cf_sql_decimal" value="#form.size#" />
</cfif>
Run Code Online (Sandbox Code Playgroud)

这适用于整数,但是当我选择19.5时,它会将结果带回20.它正在四舍五入.与cfqueryparam有点奇怪.它将结果转换为数值,但它将其四舍五入到下一个整数.

Evi*_*mes 9

您需要添加scale参数.

<cfqueryparam cfsqltype="cf_sql_decimal" scale="2" value="#form.size#">
Run Code Online (Sandbox Code Playgroud)

你可以使用这个参考...

http://help.adobe.com/livedocs/coldfusion/8/htmldocs/help.html?content=Tags_p-q_18.html