2014-01-10 68 views
3

我试图让我的程序显示两位小数点,但它一直下降零,所以如果我有140.00它显示为140.0,但如果我做140.15它会显示140.15。但是,由于某种原因,它总是会降低零。这是我认为需要编辑的代码。任何帮助,将不胜感激。ColdFusion漂浮问题

<cfinput type="Text" name="HourlyRate" 
     value="0.00" 
     required="Yes" 
     validate="float"    
     message="A Default Hourly Rate is required...." 
     class="inputText200" size="8">** 

或这里

<input type="text" name="Rate" 
     <cfif #getHourlyForm.Rate# neq ""> value="#getHourlyForm.Rate#"</cfif> /> 

回答

5

的原因是,当你输出内容进入“价值”你基本上呈现HTML。

这意味着当CF生成HTML时,您的数值将被“转换”为字符串表示形式。

退房的NumberFormat function here这将使你告诉CF如何输出的内容,而不是它试图做一个“最好的猜测”

<tr colspan="2"> 
     <td class="tdDescription"> Rate Per Hour </td> 
     <td><input type="text" name="Rate" class="inputText350" <cfif getHourlyForm.Rate neq ""> value="#NumberFormat(getHourlyForm.Rate,"9.99")#"</cfif>/></td> 
</tr> 
+0

什么肖恩说 - #val(NumberFormat的(getHourlyForm.Rate, '000,000.00'))#...并且您不需要“CFIF”表单中的英镑符号。 –