如果我已經給出了每頁的某些行,並且必須查找已使用了多少頁。如果我把它分開,仍然沒有2頁:舍入整數部門
Dim lines As Integer = 68
Dim lines_per_page As Integer = 65
Dim pages_used As Integer
Pages_used = lines_per_page/lines
請問你能幫忙嗎?
如果我已經給出了每頁的某些行,並且必須查找已使用了多少頁。如果我把它分開,仍然沒有2頁:舍入整數部門
Dim lines As Integer = 68
Dim lines_per_page As Integer = 65
Dim pages_used As Integer
Pages_used = lines_per_page/lines
請問你能幫忙嗎?
你倒着做你的事業部。您必須按照每頁行數劃分總行數。看清條款如何取消了這種方式:(!錯)
X頁=(Y線/ 1頁)/(Z線)< < yeilds 1 /頁
X頁=(Z線)/ (y行/ 1頁)=(z行)*(1頁/ y行)< <正確!
另請注意,由於部分頁面必須四捨五入爲整頁,因此您需要執行雙除法,而不是整數除法,然後舍入結果值。
Dim lines As Integer = 68
Dim lines_per_page As Double = 65
Dim pages_used As Integer
pages_used = CType(Math.Ceiling(lines/lines_per_page), Integer)
這是因爲您的Pages_Used爲整數。 VB將圍繞結果。嘗試使用double來代替。
注意:此解決方案利用您提供的參數而不改變類型。 Roken的解決方案在邏輯上是正確的,但不會編譯爲pages_used作爲整數投射。
使用以下命令:
Dim lines As Integer = 68
Dim lines_per_page As Integer = 65
Dim pages_used As Integer
pages_used = (lines + lines_per_page - 1) \ lines_per_page
結果:pages_used = 2
這裏有什麼問題是你正在扭轉分裂。你應該劃分每頁行BU線從而
Pages_used =線/ lines_per_page
不是倒過來。
你得到了什麼輸出上面的代碼? *如果我將它分開,我仍然沒有2頁*不是很具體。如果您不希望Pages_used = 1作爲輸出,那麼您應該對暗淡類型使用十進制或雙精度。 – Somantra 2012-07-11 16:54:27
@Somantra執行它時我得到1。如果我使用十進制或雙精度,我得到0.955882352941176 – Zaki 2012-07-11 17:01:26
準確的輸出是你想達到什麼?你的問題並不清楚。 – Somantra 2012-07-11 17:06:59