Arama butonu
Bu konudaki kullanıcılar: 1 misafir
5
Cevap
14605
Tıklama
0
Öne Çıkarma
C#'ta textbox'a sadece rakam ve virgül girme
K
10 yıl
Çavuş
Konu Sahibi

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.



V
10 yıl
Binbaşı

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ı >
Bu mesaja 1 cevap geldi.
K
10 yıl
Yüzbaşı

bence double.tryParse metodunu kullanabilirsin daha kolay. Bunu tercih etmesen bile ",12" ya da "12,2," şeklinde girdileri kontrol etmeyi unutma


Bu mesaja 1 cevap geldi.
G
10 yıl
Yarbay

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

e.Handled = !char.IsDigit(e.KeyChar) && !char.IsControl(e.KeyChar)&& e.KeyChar != ',';
}


Bu mesaja 2 cevap geldi.
K
10 yıl
Çavuş
Konu Sahibi

hepinize teşekkür ederim Gökşen PASLI'nın kodu yapıştırdım direk çalıştı. çok teşekkürler



T
4 yıl
Er

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




Bu mesajda bahsedilenler: @Gökşen PASLI
DH Mobil uygulaması ile devam edin. Mobil tarayıcınız ile mümkün olanların yanı sıra, birçok yeni ve faydalı özelliğe erişin. Gizle ve güncelleme çıkana kadar tekrar gösterme.