none
Textbox String Format RRS feed

  • Soru

  • Merhabalar;

    textbox girilen değer örneğin 12 fakat ben yanına  .00 eklesini istiyorum, yani veritabanında 12.00 eklemesini istiyorum;

    eğer 12.4 girildiyse 12.40 olmasını yani 0 eklemesini istiyorum..

    birde textbox a girilen değerlerin toplamını anlık olarak başka bir textbox ta göstermek istiyorum..

    3 Ocak 2012 Salı 11:11

Yanıtlar

Tüm Yanıtlar

  • Merhabalar,

    Veritabanınızın veri tipini decimal(18,2) olarak değiştirin ve textbox'tan veriyi okuyup veritabanına gönderirken bir decimal değişken üzerinden gönderin. Örneğin decimal d=Convert.ToDecimal(textBox1.Text);

    Toplam İşlemi için tüm textboxlardan elde ettiğiniz decimal değerleri toplayın. Örn : decimal sonuc=d1+d2+d3 ve sonrasinda ToString metodu ile yazdırmak istediğiniz textbox a yazdırın. TextBoxSonuc.Text=sonuc.ToString();

    3 Ocak 2012 Salı 12:14
    Moderatör
  • Size zahmet daha detaylı yazmanız mümkün mü veritabanı  veri tipleriyle oynayamıyorum, çünkü endüstriyel bir yazılım okuyor... 

     

     

     

    3 Ocak 2012 Salı 12:38
  • Tamer Oz Bey'in size önerdiği çözüm veritabanındaki alanların veri türlerini değiştirmiyor.

    Eğer, örnek olarak, 12.4 girildiyse, bu değer veritabanının kendi iç formatında saklanacaktır.  Bu değerin 12.40 olarak gösterilmesi, bir arayüz problemidir.  Yani hangi programın arayüzünde 12.40 olarak görmek istiyorsanız, o noktada bir format düzenlemesi yapmanız gerekir.

     

    3 Ocak 2012 Salı 13:41
  • string str = String.Format("{0:F2}", 2.4);

    Bu komut işinize yarıyor mu ? (F2 yerine C koyarsanız yanına para birimi de eklenir)
    3 Ocak 2012 Salı 14:08
  • Merhabalar;

    textbox girilen değer örneğin 12 fakat ben yanına  .00 eklesini istiyorum, yani veritabanında 12.00 eklemesini istiyorum;

    eğer 12.4 girildiyse 12.40 olmasını yani 0 eklemesini istiyorum..

    birde textbox a girilen değerlerin toplamını anlık olarak başka bir textbox ta göstermek istiyorum..


    basit bir örnek yapalım forma bir textbox, bir button, birde label koyalım ve aşağıdaki kodları yazalım (Bu arada textbox'a ondalıklı sayı yazarken nokta yerine virgül kulanılır)

    not: kayıt yapacağınız zaman ona göre çevrim işlemlerini yaptırmanız lazım

     

    private void button1_Click(object sender, EventArgs e)
            {
                label1.Text=string.Format( " { 0 : ###,###.00 } ", Convert.ToDecimal(textBox1.Text));
            }
    

     



    4 Ocak 2012 Çarşamba 05:45
    Yanıtlayıcı
  • not: kayıt yapacağınız zaman ona göre çevrim işlemlerini yaptırmanız lazım
    Sistemdeki var olan veri formatının değişmemesi gerekiyor (arkadaş "veritabanı veri tipleriyle oynayamıyorum, çünkü endüstriyel bir yazılım okuyor" demişti).  Bu nedenle veritabanına kayıt sırasında ek bir çevrim işlemi yapılmaması gerekiyor (yani uygulama eskiden veritabanına nasıl yazıyorsa, bu şekilde yazmaya devam etmeli).  Daha önce de belirttiğim gibi bu sadece bir arayüz işlemi ve gösterdiğiniz string.Format() kodu bu sorunu çözüyor.
    4 Ocak 2012 Çarşamba 06:10
  • o zaman

    string.Format( " { 0 : ###,###.00 } ", Convert.ToDecimal(textBox1.Text));

    yeterli olur gönderilecek veri olarak


    4 Ocak 2012 Çarşamba 06:34
    Yanıtlayıcı
  • sorununuz çözülmedi mi?

    textboxun enter veya leave olaylarına kod yazarak foreach ile içeriği boş olmayan textboxların değerlerini okutup toplam degiskenine aktarıp bir labelde gösterebilirsiniz.


    4 Ocak 2012 Çarşamba 13:41
    Yanıtlayıcı