arradyscode

http://www.arradyscode.com

Welcome to arradyscode.
Share algorithms, logic and codes of programming languages.

Konversi Bilangan Integer ke Romawi pada Delphi

Bilangan romawi adalah salah satu bilangan yang sering digunakan dalam kehidupan sehari-hari. Sehingga terkadang pada pemrograman pun memerlukan output dengan bilangan tersebut. Sebagai contoh pada report yang berbentuk golongan pegawai, bilangan romawi ini dapat digunakan untuk memisahkan golongan/ruang.
Berikut adalah fungsi yang dapat digunakan untuk mengkonversi bilangan integer ke bilangan romawi:
function IntToRoman(num: Cardinal): string;
const
  Nvals = 13;
  vals: array [1..Nvals] of word =
    (1, 4, 5, 9, 10, 40, 50, 90, 100, 400, 500, 900, 1000);
  roms: array [1..Nvals] of string[2] =
    ('I', 'IV', 'V', 'IX', 'X', 'XL', 'L', 'XC', 'C',
    'CD', 'D', 'CM', 'M');
var
  b: 1..Nvals;
begin
  result := '';
  b := Nvals;
  while num > 0 do
  begin
    while vals[b] > num do
      dec(b);
    dec (num, vals[b]);
    result := result + roms[b]
  end;
end;
Untuk penggunaannya, Anda hanya perlu menulis fungsi di atas di unit baru atau langsung ke unit yang akan memanggil fungsi IntToRoman(). Fungsi tersebut akan menghasilkan output dalam tipe string.
procedure TForm1.Button1Click(Sender: TObject);
begin
  showmessage(inttoroman(12));
end;
Kode di atas jika dijalankan akan menghasilkan output "XII".
  • http://delphidabbler.com/tips/101

Terbaru di blog ini:

Mungkin Anda juga ingin membaca:

Berkomentarlah sesuai topik.
Gunakan kode berikut untuk menambahkan emoticon ke komentar:
:)
:(
=(
^_^
:D
=D
|o|
@@,
;)
:-bd
:-d
:P
:ngakak:

Untuk menuliskan Syntax: [code] code disini [/code]

Untuk menuliskan Quote: [quote] quote disini [/quote]

Berkomentarlah sesuai topik