AccessTr.neT
Double Sayısında Mod İle Tam Sayıları Bulmak - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Microsoft Access (https://accesstr.net/forum-microsoft-access.html)
+--- Forum: Access Cevaplanmış Soruları (https://accesstr.net/forum-access-cevaplanmis-sorulari.html)
+--- Konu Başlığı: Double Sayısında Mod İle Tam Sayıları Bulmak (/konu-double-sayisinda-mod-ile-tam-sayilari-bulmak.html)



Double Sayısında Mod İle Tam Sayıları Bulmak - accessman - 21/03/2020

iyi günler

Dim i As Integer
Dim d As Double
   
For i = 0 To 100
   d = i * 0.75
   If (d Mod X) Then MsgBox "tamsayı"
Next
 bu kodda d tam sayı olduğunda mesaj vermesi için "X" yerine ne yazmalıyım


Cvp: Double Sayısında Mod İle Tam Sayıları Bulmak - berduş - 21/03/2020

if int(d)=d şeklinde deneyin?


Cvp: Double Sayısında Mod İle Tam Sayıları Bulmak - accessman - 21/03/2020

5700 kayıt var güncellenirken progressbarda göstermek için

say = say + 1
deger = say * w / rst.RecordCount
yuzde = say * 100 / rst.RecordCount

If (Int(yuzde) = yuzde) Then
      Call RunProgressBar(Me.pb_item, deger)
      Me.pb_lbl.Caption = "Veriler Güncelleniyor... % " & Int(yuzde)
End If
sizin dediğiniz gibi yazdım ama hiç tam  sayı bulamadığı için if içine giremedi
nasıl bir mantık kurmam lazım

yani hem label üzerinde tam sayı göstereceğim
hemde progresbar titreyip durmasın diye sadece tam sayılarda 
Call RunProgressBar(Me.pb_item, deger
çalışacak

hiç tam sayı elde edemese bile progress bar bitene kadar sadece 100 kez güncellensin ve %1, %2.... diye göstersin


Cvp: Double Sayısında Mod İle Tam Sayıları Bulmak - berduş - 21/03/2020

kodun mantığını söyleyeyim Int() sayıyı aşağı yuvarlar yani 2.999999999999999 bile olsa onu 2 yapar (2.9999999999999999 fazladan 9 eklediğimizde 3 yapıyor ) 0.75 in katları göz önüne alındığında sonucun doğru olması gerek. 2 defa denedim 1-100 bin arasını 2sinde de sonuç doğru çıktı


Cvp: Double Sayısında Mod İle Tam Sayıları Bulmak - accessman - 21/03/2020

ama if içine girmeli yani benim double sayım 36,568 iken bunu if içinde en az bir kez kullanmalı
yani 36 tam sayısı hiç olmasa bile


Cvp: Double Sayısında Mod İle Tam Sayıları Bulmak - berduş - 21/03/2020

sayın accessman ilk mesajınızdaki sorunun cevabı int()dir sorunuzu en baştan yanlış sormuşsanız yada açıklamanız eksikse yapabileceğim bir şey yok.