Format fonksiyonu ile sayıyı string tipinde düzenleme

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Master43
Üye
Mesajlar: 73
Kayıt: 17 Ara 2004 12:05

Format fonksiyonu ile sayıyı string tipinde düzenleme

Mesaj gönderen Master43 »

Elimizdeki sayının başına format fonksiyonu ile 0 eklemek istiyorum nasıl yapacağımı çözemedim.

Atıyorum elimizdeki sayı 125 olsun,
ben 4 digit string haline döndürmek istiyorum yani elde etmek istediğim sonuç 0125 olacak.
Bunu Fomat fonksiyonu ile nasıl yapılacağını bilen arkadaşlar :bravo:

for veya while ile de yapılabilir biliyorum ama Format fonksiyonunu kullanmayıda öğrenmek istiyorum
ilginize teşekkürler.
En son Master43 tarafından 05 Haz 2008 01:57 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Kullanıcı avatarı
Battosai
Üye
Mesajlar: 1316
Kayıt: 01 Eki 2007 12:02
Konum: Ankara

Re: Format fonksiyonu ile sayıyı düzenleme

Mesaj gönderen Battosai »

Format fonksiyonuna gerek yok...sayi:='0'+sayi şeklinde yapabilirsin...
Master43
Üye
Mesajlar: 73
Kayıt: 17 Ara 2004 12:05

Re: Format fonksiyonu ile sayıyı düzenleme

Mesaj gönderen Master43 »

@Battosai arkadaşım dikkat ederseniz
Atıyorum elimizdeki sayı 125 olsun,
yani sayı 125 olmak zorunda değil ve aynı şekilde digit de farklı olabilir.
Ben genel anlamda bir örnek vererek sormaya çalıştım sadece.

Sorumun cevabına gelince onuda yazayım

Kod: Tümünü seç

function IntToDigitStr(Value, Digit: Integer): String;
begin
  Result := Format('%.*d', [Digit, Value]);
end;
Kullanıcı avatarı
Battosai
Üye
Mesajlar: 1316
Kayıt: 01 Eki 2007 12:02
Konum: Ankara

Re: Format fonksiyonu ile sayıyı string tipinde düzenleme

Mesaj gönderen Battosai »

digit ten kastın nedir ki...her sstring önüne benim bahsettiğim şekilde karakter konur...
Kullanıcı avatarı
adelphiforumz
Üye
Mesajlar: 602
Kayıt: 01 Nis 2008 05:38
Konum: İstanbul

Re: Format fonksiyonu ile sayıyı string tipinde düzenleme

Mesaj gönderen adelphiforumz »

FormatFloat('0000',123); -> 0123
FormatFloat('0000.00',123,12); -> 0123,12
FormatFloat('0.00', 0,12); -> 0,12
FormatFloat('#.00', 0,12); -> ,12
FormatFloat('#000.00', 12,12); -> 123,12
FormatFloat('#,##0.00', 1234,12); -> 1.230,12
Ehil olmayanlara sabretmek ehil olanları parlatır.
Akıllı birisinden gelen cefa, bilgisizlerin vefasından iyidir.
Bilgiye ulaştı mı ayak, kanat olur
Biz insanı kıyafetiyle ağırlar bilgisiyle uğurlarız.
Mevlana
Kullanıcı avatarı
sabanakman
Kıdemli Üye
Mesajlar: 3081
Kayıt: 17 Nis 2006 08:11
Konum: Ah bi Antalya olaydı keşke (Ankara)

Re: Format fonksiyonu ile sayıyı string tipinde düzenleme

Mesaj gönderen sabanakman »

Battosai yazdı:digit ten kastın nedir ki...her sstring önüne benim bahsettiğim şekilde karakter konur...
Sayı ne olursa olsun toplam karakter sayısı 4 olmalı (örneğe göre). Yani yazdırılacak sayı ister 1, ister 2, ister 3 isterse de 4 basamak olsun neticede ortaya 4 basamaklı bir sayı çıkmalı. Bu yüzden sola '0' eklemek sadece 3 basamaklı sayılarda işe yarayacak, diğer sayılarda bir anlamı olmayacaktır. Sanırım verilen Format ve FormatFloat örnekleri bu işi sağlamaktadırlar.
Şaban Şahin AKMAN
_________________
Derin olan kuyu değil kısa olan iptir. - .
Master43
Üye
Mesajlar: 73
Kayıt: 17 Ara 2004 12:05

Re: Format fonksiyonu ile sayıyı string tipinde düzenleme

Mesaj gönderen Master43 »

Sanırım ben sorunumu istediğim gibi anlatamamdan kaynaklandı
ben 0 eklemek derken orda 4 (örnek olarak tabi) basamaktan az ise eksik basamak sayısı kadar 0 koyması.
fomatfloat fonksiyonlarıda aynı işi yapıyormuş mesela öğrenmiş oldum (teşekkürler paylaştığınız için)

Digit ten kastım ise, IntToHex fonksiyonunda olduğu gibi toplam kaç karakter sayı gösterileceğini belirtiyor
bu fonksiyondan esinlenerek Digit dedim özel bi anlamı yok.
Yani rakamın basamak sayısı Digit'ten küçükse, rakamın başına (Digit - BasamakSayısı) kadar 0 koysun.

Neyse arkadaşlar ilgilendiğiniz için hepinize ayrı ayrı tekrar teşekkürler.

Kolay Gelsin.
Kullanıcı avatarı
Z.D.
Üye
Mesajlar: 104
Kayıt: 01 Nis 2006 01:48
Konum: İstanbul

Re: Format fonksiyonu ile sayıyı string tipinde düzenleme

Mesaj gönderen Z.D. »

Kod: Tümünü seç

Caption := Format('%.4d', [125]);

Result = 0125
=============================
Caption := Format('%d', [125]);

Result = 125
=============================
Caption := Format('%.6d', [125]);

Result = 000125

geniş bilgi http://www.delphibasics.co.uk/RTL.asp?Name=Format
Cevapla