Şimdi Ara

C#'ta textbox'a sadece rakam ve virgül girme

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
6
Cevap
0
Favori
15.023
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • merhaba arkadaşlar. bir çiçekçi tanıdığım için girdi çıktı programı yazıyorum yüzdüm yüzdüm kuyruğuna geldim bir yerde takıldım.

    bazı textboxları fiyat girişi için kullanıyorum bu yüzden o textboxlara sadece integer değerler girilmeli.
    bunu becerdim sadece rakam girişi yapabiliyorum ama bu sefer de küsüratlı ifade girmek için virgül kabul etmiyor. mesela 35 lira diye ekleyebiliyorum ama 35,5 lira yapamıyordum.
    bunuda becerdim internettten buldum kodu. ama bu seferde virgül ve sayı alıyor sadece silme tuşu(backspace) çalışmıyor.

    benim aradığım kod;
    sadece sayı ve virgül kabul edecek ve silme tuşuna basınca da silme tuşunu görecek.
    bi yardımcı olursanız programı bitirdim artık son rötuşlardayım.
    şimdiden teşekkür ederim.



  • Sa kardeş aynı kodu daha önce yazmıştım ama tam hatırlamıyorum. Hatırlarsam yazarım

    Edit: Textbox dan alınan veriyi int değil de float olarak çekseniz?
    Bir de '.' Ve ',' farkı olmaması için deger.Replace(',', '.');
    Şeklinde virgul ve nokta girişini aynı sonuca yonlendirebilirsiniz.

    Kısacası textbox1 den çekilecek değerin adı deger olsun.

    deger = ConvertToFloat(txtbox1.Text);
    Ve nokta virgul farkı olmaması için
    deger.Replace(',', '.');

    Bunları try içine yazıp catch e de uyarı mesajı koyabilirsiniz.

    Not:telefondan yazıyorum, bilgisayar formatlanıyor yani deneme şansım olmadı ama 1-2 syntax hatası hariç olur diye düşünüyorum.

    @KaanOZTRK



    < Bu mesaj bu kişi tarafından değiştirildi VatandA.Ş. -- 19 Haziran 2014; 18:25:53 >
    < Bu ileti mobil sürüm kullanılarak atıldı >




  • bence double.tryParse metodunu kullanabilirsin daha kolay. Bunu tercih etmesen bile ",12" ya da "12,2," şeklinde girdileri kontrol etmeyi unutma
  • void TextBox1KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
    {

    e.Handled = !char.IsDigit(e.KeyChar) && !char.IsControl(e.KeyChar)&& e.KeyChar != ',';
    }
  • hepinize teşekkür ederim Gökşen PASLI'nın kodu yapıştırdım direk çalıştı. çok teşekkürler
  • Gökşen PASLI G kullanıcısına yanıt
    Merhaba;
    Bir konuda destek rica ediyorum.
    C# textbox a girilen sayısal değerini veri tabanında tutuyorum.

    void TextBox1KeyPress(object sender, System.Windows.Forms.KeyPressEventArgs e)
    {

    e.Handled = !char.IsDigit(e.KeyChar) && !char.IsControl(e.KeyChar)&& e.KeyChar != ',';
    BU KODUNUZU KULLANARAK NOKTA KULLANMAYI YASAKLAYI SADECE SAYISAL DEĞER GİRİŞİ YAPIP BACK SPACE Yİ ÇALIŞTIRDIM FAKAT;
    SAYISAL DEĞERLERDE ART ARDA ,, (İKİ VİRGÜL) KULLANMAMALIYIMKİ DEĞER DOĞRU TUTULSUN.
    BUNU NASIL YAPABİLİRİM KODU YAZABİLİRMİSİNİZ
  • Yapay Zeka’dan İlgili Konular
    C# ve Php aynı anda gider mi ?
    12 yıl önce açıldı
    Daha Fazla Göster
    
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.