Sayfa: [1]   Aşağı git
  Yazdır  
Gönderen Konu: Hata kodu 6 taşma hatası  (Okunma Sayısı 321 defa)
0 Üye ve 1 Ziyaretçi konuyu incelemekte.
mursti
Yeni Üye
*


Karma: 0
Offline Offline

Cinsiyet: Bay
Mesaj Sayısı: 4


Üyelik Bilgileri WWW


« : 27 Eylül 2008, 14:59:00 »




 visiual basic te yazdığım program sayısal analizde heun yöntemi fakat değişkenler işlemleri yaparken sayılar çok büyüyor variant olmasına rağmen virgülden sonraki rakkamlar çok fazla 17 rakkamlı alıyor ama virgülden sonra standart bir rakkam alma sayısı yok rakkamlar büyüdükçe büyüyor ve sonunda taşma hatası veriyor bunu nasıl önlerim?
 
   Değişkenleri tanımlarken ne yapmalıyım?
Logged
mayhemious
Administrator
*


Karma: 70
Offline Offline

Cinsiyet: Bay
Mesaj Sayısı: 1006

mayhem mayhemious


Üyelik Bilgileri WWW


« Yanıtla #1 : 27 Eylül 2008, 21:51:57 »

belkide FORMAT komutu ile sorunu çözebilirsiniz

Private Sub Command1_Click()
Text1.Text = Format(Text1, "###.######")
End Sub

virgülden sonra 6 hane yeterli olur Gülümseme

olmadı size bir fonksiyon yazarız
Logged

Mesaj Sayısı 10 ve Altı olanlar Sorularınız YANITLANMAYACAK

Linklerin Görülmesine Izin Verilmiyor
Linki Görebilmek Için Üye Ol veya Giris Yap
V.I.P. Üye Olun. Programlamada Bir Adım Öne Geçin
mursti
Yeni Üye
*


Karma: 0
Offline Offline

Cinsiyet: Bay
Mesaj Sayısı: 4


Üyelik Bilgileri WWW


« Yanıtla #2 : 27 Eylül 2008, 23:08:12 »

Private Sub Command1_Click()


  Do While a < 1
    a = a + 1
    x = 0.3
    y = 5
    d = 5
    f = (Sin(x) - 5 * y ^ 2) / 3
    List1.AddItem f
   
      Do While b < 5
        b = b + 1
       
        z = y + f * 0.3
        List3.AddItem z
       
        y = z
        x = x + 0.3
        f = (Sin(x) - 5 * y ^ 2) / 3
        List1.AddItem f
       
        w = (z + f) / 2
        List4.AddItem w
       
        g = d + w * 0.3
        List2.AddItem g
        d = g
        y = g
        f = (Sin(x) - 5 * y ^ 2) / 3
       
  Loop
  Loop
 
End Sub
  click olayındaki kod bu usta kontrool için list 1 2 3 4 koydum değerlere bakmak için.
bi dene istersen. amacım virgülden sonra standart bi değer almak. söylediğin format ı bu kodda nerelere yazabilirim ki?
Logged
mayhemious
Administrator
*


Karma: 70
Offline Offline

Cinsiyet: Bay
Mesaj Sayısı: 1006

mayhem mayhemious


Üyelik Bilgileri WWW


« Yanıtla #3 : 27 Eylül 2008, 23:41:42 »

visual basic malesef 16 byte tan büyük verileri yorumlayamıyor. işlem sonucu bu sınızı aştığı için overflow hatası veriyor...bunun için şöyle bir hata koruması kullanmak zorundasınınız. ***msgbox kullanmayabilirsiniz

Option Explicit

Private Sub Command1_Click()
On Error GoTo hata
Dim a, x, y, d, f, b, z, g, w

  Do While a < 1
    a = a + 1
    x = 0.3
    y = 5
    d = 5
    f = (Sin(x) - 5 * y ^ 2) / 3
    List1.AddItem f
   
        Do While b < 5
        b = b + 1
       
        z = y + f * 0.3
        List3.AddItem z
       
        y = z
        x = x + 0.3
        f = (Sin(x) - 5 * y ^ 2) / 3
        List1.AddItem f
       
        w = (z + f) / 2
        List4.AddItem w
       
        g = d + w * 0.3
        List2.AddItem g
        d = g
        y = g
        f = Sin(x) - 5 * y ^ 2 / 3
        MsgBox f
       
       
  Loop
  Loop
Exit Sub
hata:
        MsgBox "Programın Görüntüleyebileceği Değerin üstüne çıkıldı"
End Sub
Logged

Mesaj Sayısı 10 ve Altı olanlar Sorularınız YANITLANMAYACAK

Linklerin Görülmesine Izin Verilmiyor
Linki Görebilmek Için Üye Ol veya Giris Yap
V.I.P. Üye Olun. Programlamada Bir Adım Öne Geçin
Şahin KALEM
Bölüm Sorumlusu
*


Karma: 0
Offline Offline

Cinsiyet: Bay
Mesaj Sayısı: 190

Türkiyeli değil TÜRK


Üyelik Bilgileri WWW


« Yanıtla #4 : 28 Eylül 2008, 19:26:38 »

sayıları integer double long turlerınden bırıyle tanımla veya round fonksıyonu ile sayları virgulden sonra kaç basamak göstermek istiyorsan ona gore yuvarla
Logged

Eger Son Nefesimi Vermeden Once Mutlu Olacagini Bilirsem Cehenneme Bile Gulerek Giderim.!

BU ŞEHİR BU KALABALIK BU KARMAŞA İÇİM BURKULUYOR ONCA İNSAN BİR SEN OLMUYOR VE SEN ONCA İNSANDAN BİRİ OLMUYORSUN
mursti
Yeni Üye
*


Karma: 0
Offline Offline

Cinsiyet: Bay
Mesaj Sayısı: 4


Üyelik Bilgileri WWW


« Yanıtla #5 : 04 Ekim 2008, 15:03:05 »

integer double gibi tanımlamalarda da aynı hataları verdi. round fonksiyonunu nasıl kullanabilirim? örneğin virgülden sonra 4 rakkam hassasiyetinde almak istesem x,yyyy gibi
Logged
Şahin KALEM
Bölüm Sorumlusu
*


Karma: 0
Offline Offline

Cinsiyet: Bay
Mesaj Sayısı: 190

Türkiyeli değil TÜRK


Üyelik Bilgileri WWW


« Yanıtla #6 : 06 Ekim 2008, 19:37:44 »

sayi=round(sayi,4)
 
biraz araştırma yapın lütfen site içerisinde bunların ornekleri mevcut
Logged

Eger Son Nefesimi Vermeden Once Mutlu Olacagini Bilirsem Cehenneme Bile Gulerek Giderim.!

BU ŞEHİR BU KALABALIK BU KARMAŞA İÇİM BURKULUYOR ONCA İNSAN BİR SEN OLMUYOR VE SEN ONCA İNSANDAN BİRİ OLMUYORSUN
mursti
Yeni Üye
*


Karma: 0
Offline Offline

Cinsiyet: Bay
Mesaj Sayısı: 4


Üyelik Bilgileri WWW


« Yanıtla #7 : 08 Ekim 2008, 13:22:35 »

biliyorum gördüm  denedim ama sonuç yine aynı değişmedi.
Logged
Sayfa: [1]   Yukarı git
  Yazdır  

 
Gitmek istediğiniz yer: