Sistem penomoran yang sering dipakai adalah sistem penomoran angka arab. Angka arab terdiri dari sembilan angka yaitu 0,1,2,3,4,5,6,7,8,9. Selain sistem penomoran arab ada sistem penomoran lain yang juga sering dipakai, yaitu sistem romawi. Sistem penomoran romawi menggunakan 7 simbol yang bisa dikombinasikan untuk merepresentasikan angka 1 s.d. 1.000.000. Sismbol-simbol dalam sistem romawi yaitu : I = 1, V = 5, X = 10, L = 50, C = 100, D = 500, M = 1000.
Contoh : 1973 (Arab) sama dengan MCMLXXIII (Romawi).
Pada artikel berikut ini akan diberikan cara untuk mengkonversi angka romawi kedalam sistem arab. Berikut ini source code nya :
Source : delphi.about.com
Contoh : 1973 (Arab) sama dengan MCMLXXIII (Romawi).
Pada artikel berikut ini akan diberikan cara untuk mengkonversi angka romawi kedalam sistem arab. Berikut ini source code nya :
function RomanToArabic(const romanNumber : string) : integer ; const romanChars = 'IVXLCDMvxlcdm?!#' ; decades : array [0..8] of integer = (0, 1, 10, 100, 1000,10000, 100000, 1000000, 10000000) ; OneFive : array [boolean] of byte = (1, 5) ; var newValue, oldValue : integer ; cIdx, P : byte ; begin result := 0; oldValue := 0 ; for cIdx := Length(romanNumber) downto 1 do begin P := Succ(Pos(romanNumber[cIdx], romanChars)) ; newValue := OneFive[Odd(P)] * decades[P div 2] ; if newValue = 0 then begin result := -1; Exit; end ; if newValue < oldValue then newValue := - newValue ; Inc(result, newValue) ; oldValue := newValue end ; end;Catatan : fungsi RomanToArabic akan mengembalikan nilai -1 jika parameter "romanNumber" bukan angka dalam format romawi (contoh "MIXKIX" adalah bukan angka romawi).
Source : delphi.about.com
0 comments:
Post a Comment