En iyi yanıtlayıcılar
TextBox TL para Birimi Yazmak

Soru
-
Merhabalar,
textbox a kullanıcı para girişi yaptığında düz sayılar olarak değil TL formatında gösterilmesini nasıl sağlarız
internette bir kaç örnek var ama kuruş kısmını 00 koyup 12,56 tl yi 1.256,00 olarak gösteriyor
Örnek olarak bu sıkıntıyı yaşadığım kod;
if (TextBox1.Text != "")
{
TextBox1.Text = Convert.ToDouble(TextBox1.Text.Replace("TL", "")).ToString("c");
}
else
{
TextBox1.Text = 0.ToString("c");
}- Düzenleyen RecepKurum 21 Ekim 2015 Çarşamba 20:45
Yanıtlar
-
burhanx47: arkadaşım napıyorsun sen ya? 100 e bölüyorsun, binler ayracını replace ediyorsun, substringle kuruş hanesini alıyorsun, nedir bunlar neyin kafası bu? Adamın kafasını yalan yanlış şeylerle allak bullak ettiniz.
Recep kardeşim:
Web.Configde system.web / pages / culture ve uiculture ayarları var. Bunun default valuesi auto dur. Bu da işletim sisteminin diline göre binler ve ondalık ayraçlarının değişiklik göstereceği anlamına gelir.
Regional settingsi İngilizce ayarlı bir bilgisayarda virgül koyarsan bunu binler ayracı (en-US), Türkçe bir işletim sisteminde ise kuruş ayracı (tr-TR) kabul eder. bunun için herhangi bir kod falan yazmana gerek yok. Bırak kullanıcı istediği gibi girsin değeri.
Neden güldüm; senin her text changed eventi sunucuya bir post requesti yollar bunun için güldüm.
www.mvcblog.org
e-mail: onay[nokta]yalciner[at]hotmail[nokta]com- Düzenleyen Önay YALÇINERModerator 22 Ekim 2015 Perşembe 10:27
- Yanıt Olarak İşaretleyen RecepKurum 22 Ekim 2015 Perşembe 18:29
-
Buraya bakar mısın? Benzer bir sorun vardı. O arkadaş Euro istemişti. CultureIfo daki FR olan yerleri TR ye çevirirsen sorun kalmaz gibi. Olmazsa tekrar bakarız.
- Yanıt Olarak İşaretleyen RecepKurum 22 Ekim 2015 Perşembe 08:55
Tüm Yanıtlar
-
-
-
Buraya bakar mısın? Benzer bir sorun vardı. O arkadaş Euro istemişti. CultureIfo daki FR olan yerleri TR ye çevirirsen sorun kalmaz gibi. Olmazsa tekrar bakarız.
- Yanıt Olarak İşaretleyen RecepKurum 22 Ekim 2015 Perşembe 08:55
-
hocam bu örnektede durum aynı buda olmuyor 12,56 krş giriş yapıyorum bana 1.256.00 tl gibi bir rakam çıkartıyor
yada 11.256,48 girince 1.126.480.00 gibi bir şey çıkartıyor
Bilgisayar,Hayallerini, Mantığını Kullanarak Gerçekleştirir...
- Düzenleyen burhanx47 22 Ekim 2015 Perşembe 07:05
-
hocam bu örnektede durum aynı buda olmuyor 12,56 krş giriş yapıyorum bana 1.256.00 tl gibi bir rakam çıkartıyor
yada 11.256,48 girince 1.126.480.00 gibi bir şey çıkartıyor
Onun Sebebi nokta noktayı virgüle replace edeceksin veya virgülü noktaya
Bilgisayar,Hayallerini, Mantığını Kullanarak Gerçekleştirir...
-
-
hocam textbox ın textChanged eventine şu kodu yazdım ;
decimal GunlukCiro;
decimal.TryParse(TextBox1.Text, NumberStyles.Currency, CultureInfo.CurrentUICulture.NumberFormat, out GunlukCiro);
TextBox1.Text = string.Format(CultureInfo.CreateSpecificCulture("tr-TR"), "{0:C}", GunlukCiro);sonra 12,56 krş görebilmek için 1256 yazdım ve sonuç aşağıdaki gibi geldi bana.
1.256,00 ₺
@burhanx47 hocamında örneklerinde aynı sıkıntı oluyor
-
hocam textbox ın textChanged eventine şu kodu yazdım ;
decimal GunlukCiro;
decimal.TryParse(TextBox1.Text, NumberStyles.Currency, CultureInfo.CurrentUICulture.NumberFormat, out GunlukCiro);
TextBox1.Text = string.Format(CultureInfo.CreateSpecificCulture("tr-TR"), "{0:C}", GunlukCiro);sonra 12,56 krş görebilmek için 1256 yazdım ve sonuç aşağıdaki gibi geldi bana.
1.256,00 ₺
@burhanx47 hocamında örneklerinde aynı sıkıntı oluyor
Doğru vermiş
Bilgisayar,Hayallerini, Mantığını Kullanarak Gerçekleştirir...
-
WebForms ve text_changed :)
www.mvcblog.org
e-mail: onay[nokta]yalciner[at]hotmail[nokta]com -
hocam doğru değil ki 12 tl 56 krş bilgisini almak istedim 1256 yazdım ama bin 256 tl 00 krş verdi
Önay hocam gülümsetecek durum tam olarak nedir asp.net te yeniyim . Burada diğer iki arkadaş yardımcı olmaya çalışıyorlar sizin tepkiniz biraz farklı olmuş açıkçası. Birde -Düşündüğünüzde- Konuya hakim olsam burada yardım isteğinde bulunmazdım
- Düzenleyen RecepKurum 22 Ekim 2015 Perşembe 07:56
-
-
-
hocam doğru değil ki 12 tl 56 krş bilgisini almak istedim 1256 yazdım ama bin 256 tl 00 krş verdi
Önay hocam gülümsetecek durum tam olarak nedir asp.net te yeniyim . Burada diğer iki arkadaş yardımcı olmaya çalışıyorlar sizin tepkiniz biraz farklı olmuş açıkçası. Birde -Düşündüğünüzde- Konuya hakim olsam burada yardım isteğinde bulunmazdım
Ya arkadaşım 1256 ne demek 1.256,00 demek ne yapmaya çalışıyorsun anlamadım.Neyle ne yapmaya çalışıyorsun
12,56 almak istiyorsan 12,56 yazacaksın 1256 değil
Bilgisayar,Hayallerini, Mantığını Kullanarak Gerçekleştirir...
- Düzenleyen burhanx47 22 Ekim 2015 Perşembe 08:01
-
hocam doğru değil ki 12 tl 56 krş bilgisini almak istedim 1256 yazdım ama bin 256 tl 00 krş verdi
Önay hocam gülümsetecek durum tam olarak nedir asp.net te yeniyim . Burada diğer iki arkadaş yardımcı olmaya çalışıyorlar sizin tepkiniz biraz farklı olmuş açıkçası. Birde -Düşündüğünüzde- Konuya hakim olsam burada yardım isteğinde bulunmazdım
Ya arkadaşım 1256 ne demek 1.256,00 demek ne yapmaya çalışıyorsun anlamadım.Neyle ne yapmaya çalışıyorsun
Bilgisayar,Hayallerini, Mantığını Kullanarak Gerçekleştirir...
hocam şöyle bir seneryo var,
bir aracın yakıt masrafını textbox a gireceğim ve bana otomatik para birimi şeklinde gösterecek ve db ye kayıt edeceğim.
misal yakıt tutarı 56,42 krş bunu ben bunu textbox a 5642 yazdığımda son 2 hane krş kısmını temsil etmeli hocam her zaman için
misal textbox a 125623 yazdığımda bunu otomatik olarak bin ikiyüzellialtı tl 23krş olarak düzenlemesini istiyorum. konu bu hocam
-
Leave olacak yanlış yazmışım.
private void textBox6_Leave(object sender, EventArgs e) { decimal.TryParse((sender as TextBox).Text, NumberStyles.Currency, CultureInfo.CreateSpecificCulture("tr-tr").NumberFormat, out GunlukCiro); (sender as TextBox).Text = GunlukCiro.ToString("C", CultureInfo.CreateSpecificCulture("tr-tr").NumberFormat); }
NumberStyles.Currency kısmını değiştirebilirsin istersen bu haliyel sonunda TL olacak şekilde yazar.
-
Sen diyorsunki bütün standartlar öyle ama ben böyle olsun istiyorum diyorsan devam et kardeşim
Ama sana bir fikir vereyim Zaten girilenin lengt ini biliyorsun son iki haneyi al
sonra son iki haneyi sil başında virgül olacak şekilde tekrar sonuna ekleyebilirsin kolay gelsin
Bilgisayar,Hayallerini, Mantığını Kullanarak Gerçekleştirir...
-
WebForms ve text_changed :)
ASP miymiş hiç bakmamış mıyım yaaa :)
www.mvcblog.org
e-mail: onay[nokta]yalciner[at]hotmail[nokta]com -
Sen diyorsunki bütün standartlar öyle ama ben böyle olsun istiyorum diyorsan devam et kardeşim
Ama sana bir fikir vereyim Zaten girilenin lengt ini biliyorsun son iki haneyi al
sonra son iki haneyi sil başında virgül olacak şekilde tekrar sonuna ekleyebilirsin kolay gelsin
Bilgisayar,Hayallerini, Mantığını Kullanarak Gerçekleştirir...
Hocam standart nedir tl para birimi kalıbı tamam ama verilen veriye göre işleme yanlış oluyor,
Allah aşkına
decimal GunlukCiro;
decimal.TryParse(TextBox1.Text, NumberStyles.Currency, CultureInfo.CurrentUICulture.NumberFormat, out GunlukCiro);
TextBox1.Text = string.Format(CultureInfo.CreateSpecificCulture("tr-TR"), "{0:C}", GunlukCiro);bu kod ile bir dener misiniz 50,42 krş yazmayı yada 500 tl 56 krş deneyin size döndüren değer 50.056,00 ₺ bu şekilde oluyor 50 bin 56 tl 00 krş diye. sıkıntı nedir ben nasıl yazmalıyım o zaman textbox ta 56,42 Tl görebilmek için
bu işlemin bu kadar kaos olacağını düşünmüyordum o yüzden sanırım nette bir oturmuş örneğini bulamadım
-
MsgBox(Int(TextBox1.Text) / 100)
şekilde yaz :D istediğin sonuc
bak böyle yapmayacaksın :D kolayı varmış hayati hocam sağolsun :D
'Dim sonuc As Object 'sonuc = TextBox1.Text 'Dim uzunluk As Integer 'uzunluk = sonuc.ToString.Length 'Dim kesilen As String = sonuc.Substring(sonuc.ToString.Length - 2, 2) 'sonuc = sonuc.ToString.Remove(sonuc.ToString.Length - 2, 2) 'sonuc = sonuc & "," & kesilen 'MsgBox(sonuc)
Bilgisayar,Hayallerini, Mantığını Kullanarak Gerçekleştirir...
-
teşekkürler vakit ayırdığınız için olmuyor sanırım ben c# ile yazıyorum.
sırf yanlış yolda olmamak adına fatura bile aldım üzerindeki yazım tipine bakarak işlem yapmak için . farklı anlaşılmasını anlamış değilim
şu doğru sonuç veriyor dediğini kod ile ;
decimal GunlukCiro;
decimal.TryParse(TextBox1.Text, NumberStyles.Currency, CultureInfo.CurrentUICulture.NumberFormat, out GunlukCiro);
TextBox1.Text = string.Format(CultureInfo.CreateSpecificCulture("tr-TR"), "{0:C}", GunlukCiro);http://www.muhasebeuygulama.com/faturalar/IMAGE0018.png
bu resimdeki tutarları textbox ta yazmayı denerseniz sanırım konu çözülecek
-
burhanx47: arkadaşım napıyorsun sen ya? 100 e bölüyorsun, binler ayracını replace ediyorsun, substringle kuruş hanesini alıyorsun, nedir bunlar neyin kafası bu? Adamın kafasını yalan yanlış şeylerle allak bullak ettiniz.
Recep kardeşim:
Web.Configde system.web / pages / culture ve uiculture ayarları var. Bunun default valuesi auto dur. Bu da işletim sisteminin diline göre binler ve ondalık ayraçlarının değişiklik göstereceği anlamına gelir.
Regional settingsi İngilizce ayarlı bir bilgisayarda virgül koyarsan bunu binler ayracı (en-US), Türkçe bir işletim sisteminde ise kuruş ayracı (tr-TR) kabul eder. bunun için herhangi bir kod falan yazmana gerek yok. Bırak kullanıcı istediği gibi girsin değeri.
Neden güldüm; senin her text changed eventi sunucuya bir post requesti yollar bunun için güldüm.
www.mvcblog.org
e-mail: onay[nokta]yalciner[at]hotmail[nokta]com- Düzenleyen Önay YALÇINERModerator 22 Ekim 2015 Perşembe 10:27
- Yanıt Olarak İşaretleyen RecepKurum 22 Ekim 2015 Perşembe 18:29
-
teşekkürler hocam vermiş olduğunuz bilgi için. ben asp.net te yeniyim web formunda sadece 1 adet text changed eventli işlem var sadece buradan request gidecek eğer çoklu olsaydı bunun farklı yollarınıda araştırmam gerekirdi. bunada çözüm olarak tüm sayfanın tekrar yenilenmesini değil ajax kontrolü ile sadece bunun yenlienmesini yapıcam . çöze çöze ilerliyorum delphi ve fastreport kullanıyordum hocam c# temeli ile asp.net e geçtirm şu an evet bazı şeyleri bilsemde burada yazamıyorum bulamıyorum şu an ise devexpress ile raporlama konusunda yardım isteyeceğim. internette araştırdığımda master detail rapor çekiliyor ama parametre olayı yok.
misal delphi de sqldatasource dataset fastreport bileşeni eklerdim.
bir sorgu yaptığımda sonucu tabloda görürdüm bunu yazdır derdim tablodaki verileri fastreport a gönderirdi. ben bu alanları raporlama sayfasında düzenlemiş toplamaysa toplama başka işlemse başka işlem o bantı aşağı çeker sonucu gösterirdi grid içerisindeki verileri
şimdi burada bunu nasıl yapacağım internette db den tablonun alayını alıp rapor sayfası tasarlayıp konuyu bitirmiş
-
burhanx47: arkadaşım napıyorsun sen ya? 100 e bölüyorsun, binler ayracını replace ediyorsun, substringle kuruş hanesini alıyorsun, nedir bunlar neyin kafası bu? Adamın kafasını yalan yanlış şeylerle allak bullak ettiniz.
Recep kardeşim:
Web.Configde system.web / pages / culture ve uiculture ayarları var. Bunun default valuesi auto dur. Bu da işletim sisteminin diline göre binler ve ondalık ayraçlarının değişiklik göstereceği anlamına gelir.
Regional settingsi İngilizce ayarlı bir bilgisayarda virgül koyarsan bunu binler ayracı (en-US), Türkçe bir işletim sisteminde ise kuruş ayracı (tr-TR) kabul eder. bunun için herhangi bir kod falan yazmana gerek yok. Bırak kullanıcı istediği gibi girsin değeri.
Neden güldüm; senin her text changed eventi sunucuya bir post requesti yollar bunun için güldüm.
www.mvcblog.org
e-mail: onay[nokta]yalciner[at]hotmail[nokta]com
Hocam Yanlış okudunuz galiba böyle yapmayacaksın dedim zaten.
Bilgisayar,Hayallerini, Mantığını Kullanarak Gerçekleştirir...