![]() |
|
Parayı çarpma ve toplama işlemi - Baskı Önizleme +- Delphi Can (https://www.delphican.com) +-- Forum: Delphi (https://www.delphican.com/forumdisplay.php?fid=3) +--- Forum: Genel Programlama (https://www.delphican.com/forumdisplay.php?fid=6) +--- Konu Başlığı: Parayı çarpma ve toplama işlemi (/showthread.php?tid=1077) Sayfalar:
1
2
|
Parayı çarpma ve toplama işlemi - serhat - 17-06-2017 (16-06-2017, Saat: 23:42)Fesih ARSLAN Adlı Kullanıcıdan Alıntı:(16-06-2017, Saat: 23:28)serhat Adlı Kullanıcıdan Alıntı: Kısmen yaptım, ama 15,000 * 3 = 45,000 olması lazım fakat 45 olarak veriyor virgülden sonraki değerleri nasıl alabilirim? Tam olarak ne demek ,istediğinizi anlayamadım edite 15.000 bin olarak alıyorum 15.000,00 olarak değil ayrıntı verir misiniz? procedure TForm2.FiyatChange(Sender: TObject);
var
Rp: String;
Rph: Currency;
begin
Rp := Fiyat.Text;
Rp := StringReplace(Rp, ',', '', [rfReplaceAll, rfIgnoreCase]);
Rp := StringReplace(Rp, '.', '', [rfReplaceAll, rfIgnoreCase]);
Rph := StrToCurrDef(Rp, 0);
Fiyat.Text := FormatCurr('#,###', Rph);
Fiyat.SelStart := length(Fiyat.Text);
end;
Para formatına çevirmek için bu yöntemi kullanıyorum Cvp: Parayı çarpma ve toplama işlemi - Fesih ARSLAN - 17-06-2017 (17-06-2017, Saat: 06:37)serhat Adlı Kullanıcıdan Alıntı:(16-06-2017, Saat: 23:42)Fesih ARSLAN Adlı Kullanıcıdan Alıntı: Merhaba Serhat Bey, ![]() Not: Edit'in OnChange olayında virgül (,) karakteri girilemediği için bu olaydaki kodlarınızı, Button!un OnClick olayında kullandım. Bu kısımda da bir mantıksal hata var. Son kullanıcı Tutarın ondalık kısımlarını giremiyor. Parayı çarpma ve toplama işlemi - meko - 17-06-2017 Alıntı:
farklı senaryolarda hata verecek procedure gibi, programın çalıştığı bilgisayarın yerel ayarlarını düşünelim, kiminde ondalık ayracı nokta kiminde virgül, sonra ondalık sonrası kaç hane tanımlı bir mi iki mi üç mü. bu procedure sayıyı noktasız virgülsüz hale getiriyor sonra currency e çeviriyor, ondalık kaybolur sayımız 1.234,56 olsun 1.234 tam kısım, 56 ondalık kısım bu procedure ile sayımız önce 123456 olur sonra 123.456 olur Parayı çarpma ve toplama işlemi - serhat - 17-06-2017 Farklı bilgisayarlarda sıkıntı yaşamamak için ne yapmalıyım? Parayı çarpma ve toplama işlemi - meko - 17-06-2017 yukarda vermiştim tekrar yazıyorum var WFormatoBR: TFormatSettings; begin WFormatoBR := TFormatSettings.Create; WFormatoBR.DecimalSeparator := ','; WFormatoBR.ThousandSeparator := '.'; System.SysUtils.FormatSettings := WFormatoBR; end; kullanıcının sayısal işlem girişlerinde kullanabileceğin ücretsiz/ücretsiz componentler mevcut ilk aklıma gelen http://jvcl.delphi-jedi.org/ Parayı çarpma ve toplama işlemi - meko - 17-06-2017
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (Key in [#8, '0'..'9', '-', DecimalSeparator]) then
ShowMessage('Invalid key: ' + Key);
Key := #0;
end
else if ((Key = DecimalSeparator) or (Key = '-')) and
(Pos(Key, Edit1.Text) > 0) then begin
ShowMessage('Invalid Key: twice ' + Key);
Key := #0;
end
else if (Key = '-') and
(Edit1.SelStart <> 0) then begin
ShowMessage('Only allowed at beginning of number: ' + Key);
Key := #0;
end;
end;
internetten bulduğum kod parçası kendine göre uyarlayabilirsin |