Delphi Can
İntegerden karaktar temizleme - Baskı Önizleme

+- Delphi Can (https://www.delphican.com)
+-- Forum: Delphi (https://www.delphican.com/forumdisplay.php?fid=3)
+--- Forum: Mobil Platform - FireMonkey (FMX) (https://www.delphican.com/forumdisplay.php?fid=7)
+--- Konu Başlığı: İntegerden karaktar temizleme (/showthread.php?tid=2477)

Sayfalar: 1 2


İntegerden karaktar temizleme - Dostk - 24-07-2018

Merhaba.

Integer olan sonuc  alanım var bu alanda sayıların durumuna göre (-) karakteri çıkıyor, StringReplace bu karakteri nasıl temizlerim?  veya başka yöntem ile 

Örnek:
-22;

Sonuc := IntToStr(StringReplace(StrToInt(Sonuc, '-', '',[rfReplaceAll])));



İntegerden karaktar temizleme - esistem - 24-07-2018

Eğer sonuçlar net integer ise ;

if sonuc<0 then sonuc:=sonuc*-1;

yazmanız yeterli olacaktır.


Cvp: İntegerden karaktar temizleme - pro_imaj - 24-07-2018

(24-07-2018, Saat: 18:16)Dostk Adlı Kullanıcıdan Alıntı: Merhaba.

Integer olan sonuc  alanım var bu alanda sayıların durumuna göre (-) karakteri çıkıyor, StringReplace bu karakteri nasıl temizlerim?  veya başka yöntem ile 

Örnek:
-22;

Sonuc := IntToStr(StringReplace(StrToInt(Sonuc, '-', '',[rfReplaceAll])));

Değer 0 < ise * -1 yapsanız olmuyor mu? Yanlış anlamış olabilirim.

(24-07-2018, Saat: 18:19)esistem Adlı Kullanıcıdan Alıntı: Eğer sonuçlar net integer ise ;

if sonuc<0 then sonuc:=sonuc*-1;

yazmanız yeterli olacaktır.

aynı anda  Wink


İntegerden karaktar temizleme - yhackup - 24-07-2018

(24-07-2018, Saat: 18:16)Dostk Adlı Kullanıcıdan Alıntı: Merhaba.

Integer olan sonuc  alanım var bu alanda sayıların durumuna göre (-) karakteri çıkıyor, StringReplace bu karakteri nasıl temizlerim?  veya başka yöntem ile 

Örnek:
-22;

Sonuc := IntToStr(StringReplace(StrToInt(Sonuc, '-', '',[rfReplaceAll])));

Madem bu değişken - değer almayacak yani unsigned olacak neden Integer tanımlıyorsun UInt64  UInt32 veya Cardinal olarak tanımla ?


İntegerden karaktar temizleme - Dostk - 24-07-2018

UInt64  UInt32 veya Cardinal denedim bu sefer kodda başka yerde kullandığım sonuç:-1; alanında sorun yaşıyorum.

(24-07-2018, Saat: 18:33)yhackup Adlı Kullanıcıdan Alıntı:
(24-07-2018, Saat: 18:16)Dostk Adlı Kullanıcıdan Alıntı: Merhaba.

Integer olan sonuc  alanım var bu alanda sayıların durumuna göre (-) karakteri çıkıyor, StringReplace bu karakteri nasıl temizlerim?  veya başka yöntem ile 

Örnek:
-22;

Sonuc := IntToStr(StringReplace(StrToInt(Sonuc, '-', '',[rfReplaceAll])));

Madem bu değişken - değer almayacak yani unsigned olacak neden Integer tanımlıyorsun UInt64  UInt32 veya Cardinal olarak tanımla ?

Ben mi yanlış anladım, siz mi? yanlış anladınız bilemiyorum. Big Grin

Örnek:
12-13= -01 çıkıyor burada - temizleyip 01 olarak almam lazım


Cvp: İntegerden karaktar temizleme - SercanTEK - 24-07-2018

(24-07-2018, Saat: 18:16)Dostk Adlı Kullanıcıdan Alıntı: Merhaba.

Integer olan sonuc  alanım var bu alanda sayıların durumuna göre (-) karakteri çıkıyor, StringReplace bu karakteri nasıl temizlerim?  veya başka yöntem ile 

Örnek:
-22;

Sonuc := IntToStr(StringReplace(StrToInt(Sonuc, '-', '',[rfReplaceAll])));


String içindeki rakamlar hariç herşeyi silmek için aşağıdaki fonksiyonu yazıp kullanmıştım. İşlem sonucu String Değer döndürüyor. Eğer içerikte rakam yoksa 0 Döndürüyor. işinize yarar sanırım.


function StringClear(Data:String):string;
var
  sira : integer;
  temp : String;
begin
temp := '';
  for sira:=0 to Length(Data) do
  begin
    if (Data[sira] in ['0'..'9']) then
      temp := temp + Data[sira];
  end;
 if temp='' then  result := '0'
  else
  result := temp;
end; 
 


Kullanımı :

Caption := StringClear(Edit1.text);


Edit1.text := '-21lkıj87';

Caption := StringClear(Edit1.text); 

Sonuç : 2187


Eğer işlem sonuçları Eksi çıkıyor ve siz Artı olmasını istiyorsanız "ABS()" fonksiyonunu kullanın.


İntegerden karaktar temizleme - yhackup - 24-07-2018

(24-07-2018, Saat: 18:41)Dostk Adlı Kullanıcıdan Alıntı: UInt64  UInt32 veya Cardinal denedim bu sefer kodda başka yerde kullandığım sonuç:-1; alanında sorun yaşıyorum.

(24-07-2018, Saat: 18:33)yhackup Adlı Kullanıcıdan Alıntı: Madem bu değişken - değer almayacak yani unsigned olacak neden Integer tanımlıyorsun UInt64  UInt32 veya Cardinal olarak tanımla ?

Ben mi yanlış anladım, siz mi? yanlış anladınız bilemiyorum. Big Grin

Örnek:
12-13= -01 çıkıyor burada - temizleyip 01 olarak almam lazım

O halde hesabınız yanlış olacak , 12 -13= -01 işlemi doğrudur , siz -'yi kaldırarak işlemi hatalı yapıyorsunuz Smile


İntegerden karaktar temizleme - sabanakman - 24-07-2018

Abs fonksiyonu değeri pozitif olarak verecektir.
Sonuc=Abs(StrToIntDef(Edit1.Text));



İntegerden karaktar temizleme - Dostk - 25-07-2018

Teşekkür ederim.


Cvp: İntegerden karaktar temizleme - yhackup - 01-08-2018

(24-07-2018, Saat: 18:33)yhackup Adlı Kullanıcıdan Alıntı:
(24-07-2018, Saat: 18:16)Dostk Adlı Kullanıcıdan Alıntı: Merhaba.

Integer olan sonuc  alanım var bu alanda sayıların durumuna göre (-) karakteri çıkıyor, StringReplace bu karakteri nasıl temizlerim?  veya başka yöntem ile

Örnek:
-22;

Sonuc := IntToStr(StringReplace(StrToInt(Sonuc, '-', '',[rfReplaceAll])));

Madem bu değişken - değer almayacak yani unsigned olacak neden Integer tanımlıyorsun UInt64  UInt32 veya Cardinal olarak tanımla ?

Bekledim ama kimsenin gözüne çaprmaması ilginç oldu,
Aşağıdaki kodda card değişekenin değerini  ide'de denemeden söyleyecek var mı Smile

Sizce kaç olur ?

var
card:Cardinal;
begin
 card := Cardinal(-1);
end;