2013-04-06 42 views
3

所以,我有一個查詢返回一些記錄。在我的結果頁面上,我顯示一行說:結果1至10出30+結果如下所示。我怎樣才能總是湊到最接近的10位整數?

30 +數字我得到這樣做:

<!--- round to the nearest ten ---> 
<cfset totalfoundRounded = Round(myquery.recordcount/ 10) * 10> 

這個偉大的工程,如果我的總記錄是例如34或更低。或者24或更少,基本上一旦它超過5,我的代碼就會變成一團。所以即使只有18條記錄,也會說20條以上的記錄。

我一直在刮就如何得到這個邏輯的工作我的頭,所以它總是四捨五入到最接近10,即使是18或19

我試着使用INT(),但沒有工作,它只能用於小數位。

那麼,在Coldfusion中是否有一個函數,或者我錯過了一些技巧來讓它起作用?我一直無法找到任何搜索和數學不是我的強項:(

非常感謝您的任何建議!

回答

9

試試這個?

<cfset totalfoundRounded = Int(myquery.recordcount/ 10) * 10> 
+0

我可以發誓,我想這一點,並沒有工作,但現在這個作品!也許我錯過了什麼。非常感謝你!這是訣竅! – Jennifer 2013-04-06 00:38:51

5

你怎麼想它說時,它的不到10?0+?你也許可以做到number - (number % 10),這將始終向下舍至10

+0

這是一個很好的觀點!雖然我很容易解決這個問題,但我只是在if語句中包裝了「+」部分。如果totalfoundRounded是GTE 11,則顯示它,否則將其隱藏。 :) 謝謝! – Jennifer 2013-04-06 00:40:06

+0

順便說一句,我真的不明白你的原始建議。 %10在Coldfusion中做了什麼?和丹尼爾的建議有什麼不同? – Jennifer 2013-04-06 00:41:09

+0

@Jennifer - 他正在使用[模數10](http://help.adobe.com/en_US/ColdFusion/9.0/Developing/WSc3ff6d0ea77859461172e0811cbec09d55-7ffc.html)強制將值捨去。通過扣除餘數,結果是可以被10除盡的最接近的數字,即0,10,20,30等等。模數是一個方便的操作員。插入一些值並自行測試。看看它怎麼運作。 – Leigh 2013-04-06 01:01:06

0

那這附近多?

function Roundupdollars(amt) { 

    roundedAmt = amt * 100 
    roundedAmt = Round(roundedAmt) 
    roundedAmt = roundedAmt/100 
    return roundedAmt; 
}