Arsip: Tanya Konversi String

 
user image
more 17 years ago

tAtA

Rekan semua, minta tolong neh. gimana caranya konversi dari string ke nilai integer / float, soalnya aku punya masalah, aku bikin program simpan pinjam dimana terdapat bunga simpanan yg diisi lewat edit ex: 1.5 aku coba conversi dgn perintah strtofloat(edit.text) terjadi error pesan errornya "is not valid a floating point" apakah dari rekan - rekan punya solusi supaya bisa konversi karakter '.' ke integer/float.
user image
more 17 years ago

Mr-Soft

@tAtA: apakah dari rekan - rekan punya solusi supaya bisa konversi karakter '.' ke integer/float.
Erorrnya karakter '.' yak? coba dulu untuk karakter '.' ganti dengan karakter ',' koma, kemungkinan itu pengaruh dari regional setting di windowsnya jadi weh errror sok weh lah cobaan heula hwe..he... :lol:
user image
more 17 years ago

tAtA

ok, Mr-soft aku coba dulu ....
user image
more 17 years ago

adit4it

kalo konversi dari string ke integer strtoint(edit.text) trus di values nya balikin lagi inttostr(edit.text); kalo konversi dari string ke real/float strtofloat(edit.text) trus di values nya balikin lagi floattostr(edit.text); atau mau lebih jelas upload aja script nya. atau format di DB nya untuk angka yang berkoma harus bertipe real/float. hi...hi... soalnya aku juga pernah ky gitu
user image
more 17 years ago

_lmz

coba pakai procedure val(). denger-dengernya procedure ini tidak terpengaruh regional settings alias tetep pakai "." untuk tanda desimalnya...
user image
more 17 years ago

nunoct

Ato Coba pake tambahan diatasnya : DecimalSeparator:= '.'; Trus baru di strtocloat(), dan edit.text dipaksa ga boleh pake ','
user image
more 17 years ago

mas_kofa

It's function of My function Collection function ValidInteger(edit:TEdit) : integer; begin try result := StrToInt(edit.Text); except result := 0; end; end; S'moga jadi bermanfaat....
user image
more 17 years ago

_aa_

seperti telah disebut diatas, masalahnya terletak di perbedaan tanda desimal (regional setting). solusinya, ya ganti saja sesuai tanda desimal yang berlaku:
  Text := Sysutils.DecimalSeparator
hapus selain angka dan tanda desimal:
  for i:= length(Text) downto 1 do
    if not (Text[i] in ) then
      Delete(Text, i, 1);
baru dikonversi:
  Rp := StrToFloat(Text);
user image
more 17 years ago

deLogic

@mas_kofa: It's function of My function Collection function ValidInteger(edit:TEdit) : integer; begin try result := StrToInt(edit.Text); except result := 0; end; end; S'moga jadi bermanfaat....
sebenarnya, di delphi sudah disediakan fungsi yang sama, yaitu TryStrToInt [quote='"Delphi_Help"] function TryStrToInt(const S: string; out Value: Integer): Boolean; TryStrToInt converts the string S, which represents an integer-type number in either decimal or hexadecimal notation, into a number, which is assigned to Value. If S does not represent a valid number, TryStrToInt returns false; otherwise TryStrToInt returns true. [/quote] Nah... ini contohnya:

procedure TForm1.Button1Click(Sender: TObject);
var
  Int: Integer;
begin
  Int := 2;
  TryStrToInt('2s0s', Int);  // Int bernilai 2
  Int := 3;
  TryStrToInt('20', Int); // Int bernilai 20
end;
Nah terkait dengan bilangan desimal.. maka bisa digunakan TryStrToFloat.. Lalu maslah pemisah desimal..? Gunakan TryStrToFloat yang ada parameter FormatSettings, tentu saja sebelumnya di-utak atik dulu TFormatSettings nya.. Semoga bermanfaat walaupun sedikit melenceng dari topik.. :)
user image
more 17 years ago

khairulfahmi

boz pake gini aja bikin variabel var x : real; x= StrToInt(Edit.text); udah de.....semoga membantu
more ...
  • Pages:
  • 1
Share to

Random Topic

Local Business Directory, Search Engine Submission & SEO Tools FreeWebSubmission.com SonicRun.com