Arsip: Rp 200.000 = dua ratus ribu rupiah
more 16 years ago
Theo_razor
ada yang punya program delphi yang bisa mengkonvert angga menjadi terbilangnya ga ?? share plis... pemula neh kk!! cth:Rp 125.020 = seratus dua puluh lima ribu dua puluh rupiah.. :D
more 16 years ago
maulaku
public
{ Public declarations }
function Terbilang(sValue: string):string;
end;
var
Kata, d, x, E, T : String;
implementation
{$R *.DFM}
function Tform1.Terbilang(sValue: string):string;
const
Angka : array of string =
('', 'Satu', 'Dua', 'Tiga', 'Empat',
'Lima', 'Enam', 'Tujuh', 'Delapan',
'Sembilan', 'Sepuluh', 'Sebelas',
'Duabelas', 'Tigabelas', 'Empatbelas',
'Limabelas', 'Enambelas', 'Tujuhbelas',
'Delapanbelas', 'Sembilanbelas');
sPattern: string = '000000000000000';
var
S : string;
Satu, Dua, Tiga, Belas, Gabung: string;
Hitung : integer;
One, Two, Three: integer;
begin
One := 4;
Two := 5;
Three := 6;
Hitung := 1;
Kata := '';
S := copy(sPattern, 1, length(sPattern) - length(trim(sValue))) + sValue;
while Hitung < 5 do
begin
Satu := Copy(S, One, 1);
Dua := Copy(S, Two, 1);
Tiga := Copy(S, Three, 1);
Gabung := Satu + Dua + Tiga;
if StrToInt(Satu) = 1 then
Kata := Kata + 'Seratus '
else
if StrToInt(Satu) > 1 Then
Kata := Kata + Angka[StrToInt(satu)+1] + ' Ratus ';
if StrToInt(Dua) = 1 then
begin
Belas := Dua + Tiga;
Kata := Kata + Angka[StrToInt(Belas)+1];
end
else
if StrToInt(Dua) > 1 Then
Kata := Kata + Angka[StrToInt(Dua)+1] + ' Puluh ' +
Angka[StrToInt(Tiga)+1]
else
if (StrToInt(Dua) = 0) and (StrToInt(Tiga) > 0) Then
begin
if ((Hitung = 3) and (Gabung = '001')) or
((Hitung = 3) and (Gabung = ' 1')) then
Kata := Kata + 'Seribu '
else
Kata := Kata + Angka[StrToInt(Tiga)+1];
end;
if (hitung = 1) and (StrToInt(Gabung) > 0) then
Kata := Kata + ' Milyar '
else
if (Hitung = 2) and (StrToInt(Gabung) > 0) then
Kata := Kata + ' Juta '
else
if (Hitung = 3) and (StrToInt(Gabung) > 0) then
begin
if (Gabung = '001') or (Gabung = ' 1') then
Kata := Kata + ''
else
Kata := Kata + ' Ribu ';
end;
Hitung := Hitung + 1;
One := One + 3;
Two := Two + 3;
Three := Three + 3;
end;
if length(Kata) > 1 then Kata := Kata + ' Rupiah ';
Result := Kata;
end;
ini saya copy dari situs SONY-Ak
kalo terbilang dollar ada yang tahu ngga
more 16 years ago
cyber_hecker
atau bisa juga
http://pascal-id.org/dpr/index.php?name=PNphpBB2&file=viewtopic&p=667#667
more 16 years ago
imam_setiabudi
Atau bisa menggunakan coding tanpa array buatanku sendiri :
function TFrJual.angkakehuruf(angka:integer):string;
var
juta,ribu : longint;
ratus,belas,puluh,bil : integer;
begin
if angka <=11 then
case angka of
0: Result:='';
1: Result:=' satu';
2: Result:=' dua';
3: Result:=' tiga';
4: Result:=' empat';
5: Result:=' lima';
6: Result:=' enam';
7: Result:=' tujuh';
8: Result:=' delapan';
9: Result:=' sembilan';
10:Result:=' sepuluh';
11:Result:=' sebelas';
end
else if angka <=19 then
begin
belas:= angka mod 10;
Result:= angkakehuruf(belas)+' belas';
end
else if angka <=99 then
begin
puluh:= angka div 10;
bil:=angka mod 10;
Result:= angkakehuruf(puluh)+' puluh'+ angkakehuruf(bil);
end
else if angka =100 then
Result:=' seratus'
else if angka <=199 then
begin
angka:=angka-100;
Result:=' seratus'+ angkakehuruf(angka);
end
else if angka <=999 then
begin
ratus:=angka div 100;
angka:=angka mod 100;
Result:=angkakehuruf(ratus)+' ratus'+ angkakehuruf(angka);
end
else if angka = 1000 then Result:=' seribu'
else if angka < 1999 then
begin
angka:=angka-1000;
Result:=' seribu'+ angkakehuruf(angka);
end
else if angka < 999999 then
begin
ribu:=angka div 1000;
angka:=angka mod 1000;
Result:=angkakehuruf(ribu)+' ribu'+ angkakehuruf(angka);
end
else if angka < 999999999 then
begin
juta:=angka div 1000000;
angka:=angka mod 1000000;
Result:=angkakehuruf(juta)+' juta'+ angkakehuruf(angka);
end;
end;
[/pas]
more 16 years ago
ImanD
@edi_baek
(meskipun ga sesuai judul) aku punya sample sih cuman ga tau bener ngga-nya, xiixixiix jarang pke soalnya...
Function RealToTxt(Amount : Real) : String;
var
Num : LongInt;
Fracture : Integer;
function Num2Str(Num: LongInt): String;
Const hundred = 100;
thousand = 1000;
million = 1000000;
billion = 1000000000;
begin
if Num >= billion then
if (Num mod billion) = 0 then
Num2Str := Num2Str(Num div billion) + ' Billion'
else
Num2Str := Num2Str(Num div billion) + ' Billion ' +
Num2Str(Num mod billion)
else
if Num >= million then
if (Num mod million) = 0 then
Num2Str := Num2Str(Num div million) + ' Million'
else
Num2Str := Num2Str(Num div million) + ' Million ' +
Num2Str(Num mod million)
else
if Num >= thousand then
if (Num mod thousand) = 0 then
Num2Str := Num2Str(Num div thousand) + ' Thousand'
else
Num2Str := Num2Str(Num div thousand) + ' Thousand ' +
Num2Str(Num mod thousand)
else
if Num >= hundred then
if (Num mod hundred) = 0 then
Num2Str := Num2Str(Num div hundred) + ' Hundred'
else
Num2Str := Num2Str(Num div hundred) + ' Hundred ' +
Num2Str(Num mod hundred)
else
case (Num div 10) of
6,7,9: if (Num mod 10) = 0 then
Num2Str := Num2Str(Num div 10) + 'ty'
else
Num2Str := Num2Str(Num div 10) + 'ty-' +
Num2Str(Num mod 10);
8: if Num = 80 then
Num2Str := 'Eighty'
else
Num2Str := 'Eighty-' + Num2Str(Num mod 10);
5: if Num = 50 then
Num2Str := 'Fifty'
else
Num2Str := 'Fifty-' + Num2Str(Num mod 10);
4: if Num = 40 then
Num2Str := 'Forty'
else
Num2Str := 'Forty-' + Num2Str(Num mod 10);
3: if Num = 30 then
Num2Str := 'Thirty'
else
Num2Str := 'Thirty-' + Num2Str(Num mod 10);
2: if Num = 20 then
Num2Str := 'Twenty'
else
Num2Str := 'Twenty-' + Num2Str(Num mod 10);
0,1: case Num of
0: Num2Str := 'Zero';
1: Num2Str := 'One';
2: Num2Str := 'Two';
3: Num2Str := 'Three';
4: Num2Str := 'Four';
5: Num2Str := 'Five';
6: Num2Str := 'Six';
7: Num2Str := 'Seven';
8: Num2Str := 'Eight';
9: Num2Str := 'Nine';
10: Num2Str := 'Ten';
11: Num2Str := 'Eleven';
12: Num2Str := 'Twelve';
13: Num2Str := 'Thirteen';
14: Num2Str := 'Fourteen';
15: Num2Str := 'Fifteen';
16: Num2Str := 'Sixteen';
17: Num2Str := 'Seventeen';
18: Num2Str := 'Eightteen';
19: Num2Str := 'Nineteen'
end
end
end {Num2Str};
begin
Num:= Trunc(Amount);
Fracture:= Round(1000*Frac(Amount));
if Num > 0 then
Result := Num2Str(Num) + ' and ';
if Fracture > 0 then
Result := Result + IntToStr(Fracture) + '/1000'
else
Result := Result + '000/1000';
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Memo1.Text:=realtotxt(strtofloat(edit1.Text));
end;
mohon u/ rekan2 di lengkapi n disederhanakan sesuai dengan kaidahnya, huahhahahahha
more 16 years ago
yayaretina
Bro ImanD :
hehehheheee duit 1230 jadinya One Thousand Two Hundred Thirty and 000/1000
ni kali ya yg di suruh nglengkapin...
more 16 years ago
maulaku
kalo yang dollar aku barusan dapet nih di delphi abouts
download source code :
http://delphi.about.com/library/weekly/code/numberstowords.zip
tapi ada sedikit masalah. saya compile pake delphi 7 error
'actual many parameters' mungkin pembagiannya
tapi kalo di compile d2007 ngga ada masalah
more 16 years ago
ImanD
yuhuuu
@yayaretina
and 000/1000 itu menunjukkan desimalnya, maksud aku dilengkapin sesuai yg diinginkan misal pke point atw satuan cents untuk pemisah desimalnya atw klo mau ga usah pke desimal,xixiixixi
@maulaku: kalo yang dollar aku barusan dapet nih di delphi abouts download source code : http://delphi.about.com/library/weekly/code/numberstowords.zip tapi ada sedikit masalah. saya compile pake delphi 7 error 'actual many parameters' mungkin pembagiannya tapi kalo di compile d2007 ngga ada masalah
function Copy(S; Index, Count: Integer): string;
function Copy(S; Index, Count: Integer): array;
memang u/ di delphi 7 semua parameter WAJIB diisi
tetapi d D2007(bukan dikarenakan pembagiannya) jika parameter Count ga diisi maka delphi akan membuat default Count=Length(S)
misal d D2007
Copy('ImanD',4);
//sama dengan
Copy('ImanD',4,Length('ImanD'));
coba teliti pada source-nya delphi {System.pas klo ga salah} kenapa bisa begitu! xixiixi
more 16 years ago
maulaku
waduh mas iman aku ngga paham,
tak utak-utik tetep error
error messagenya pas di pembagian/2 mas ?
gimana supaya jalan di delphi7
more ...
- Pages:
- 1
- 2
reply |
Report Obsolete
Last Articles
Last Topic
- PascalTalk #6: (Podcast) Kuliah IT di luar negeri, susah gak sih?
by LuriDarmawan in Tutorial & Community Project more 3 years ago - PascalTalk #5: UX: Research, Design and Engineer
by LuriDarmawan in Tutorial & Community Project more 3 years ago - PascalTalk #4: Obrolan Ringan Seputar IT
by LuriDarmawan in Tutorial & Community Project more 3 years ago - PascalTalk #2: Membuat Sendiri SMART HOME
by LuriDarmawan in Tutorial & Community Project more 3 years ago - PascalTalk #3: RADically Fast and Easy Mobile Apps Development with Delphi
by LuriDarmawan in Tutorial & Community Project more 3 years ago - PascalTalk #1: Pemanfaatan Artificial Intelligence di Masa Covid-19
by LuriDarmawan in Tutorial & Community Project more 3 years ago - Tempat Latihan Posting
by LuriDarmawan in OOT more 4 years ago - Archive
- Looping lagi...
by idhiel in Hal umum tentang Pascal Indonesia more 11 years ago - [ask] koneksi ke ODBC user Dsn saat runtime dengan ado
by halimanh in FireBird more 11 years ago - Validasi menggunakan data tanggal
by mas_kofa in Hal umum tentang Pascal Indonesia more 11 years ago
Random Topic
- help code untuk pembacaan status procecor pada delphi
by dedidavidbala in Network, Files, I/O & System more 12 years ago - Help No Transaksi Otomatis
by iizy in Tip n Trik Pemrograman more 14 years ago - error object
by goehsatrio in Bedah Kasus more 16 years ago - help my
by kaka in Paradox more 17 years ago - Format tanggal hasil eksport data tidak sesuai keinginan
by sdayat in Paradox more 11 years ago - FPC/Laz, Firebird, dan MacOS X
by simba in onLinux more 15 years ago - Penulisan Skrip SQL
by delphy in Enginering more 19 years ago - demo sisfo RS
by wong_error in Hal umum tentang Pascal Indonesia more 17 years ago - tanya bikin treeview
by dauf in Tip n Trik Pemrograman more 16 years ago - OOT: Sahabat Silat Peduli ke Padang
by LuriDarmawan in OOT more 14 years ago