Italia
Fonte/ Codesnippets

Arab2roem Dezimalzahl Konverter Römische Zahlzeichen

 

Michael
Wodrich

KompilierenMarkierenSeparieren
Arab2Roem$ - Wandelt eine Zahl in römische Zahlzeichen um
siehe auch: Roem2Arab$()
Additionszahlensystem - römische Zahlen
1. Jedes der Zeichen I (1), X (10), C (100) darf höchstens 3mal
in einer Zahl nebeneinander vorkommen.
2. Jedes der Zeichen V (5), L (50) und D (500) darf
in einer Zahl nur einmal vorkommen.
3. Steht eines der Grundzeichen I (1), X (10), oder C (100) vor einem der
Zeichen V (5), X (10), L (50), C (100), D (500) oder M (1000) mit größerem
Wert, so wird der Wert des kleineren von dem mit dem größeren Wert abgezogen.
4. Es darf in jeder Zahlendarstellung immer nur ein Grundzeichen vorangestellt werden:
1098 = MXCVIII  aber nicht  IMIC
5. Für eine Zahl sollen immer möglichst wenige Ziffern verwendet werden.
-------------------------------------------------------

Proc Arab2Roem$

    Parameters zahl&
    Declare erg$

    While Zahl& >= 1000 : erg$ = erg$ + M  : Sub zahl&,1000 : EndWhile

        If    Zahl& >=  900 : erg$ = erg$ + CM : Sub zahl&, 900 : EndIf

            If    Zahl& >=  500 : erg$ = erg$ + D  : Sub zahl&, 500 : EndIf

                If    Zahl& >=  400 : erg$ = erg$ + CD : Sub zahl&, 400 : EndIf

                    While Zahl& >=  100 : erg$ = erg$ + C  : Sub zahl&, 100 : EndWhile

                        If    Zahl& >=   90 : erg$ = erg$ + XC : Sub zahl&,  90 : EndIf

                            If    Zahl& >=   50 : erg$ = erg$ + L  : Sub zahl&,  50 : EndIf

                                If    Zahl& >=   40 : erg$ = erg$ + XL : Sub zahl&,  40 : EndIf

                                    While Zahl& >=   10 : erg$ = erg$ + X  : Sub zahl&,  10 : EndWhile

                                        If    Zahl& >=    9 : erg$ = erg$ + IX : Sub zahl&,   9 : EndIf

                                            If    Zahl& >=    5 : erg$ = erg$ + V  : Sub zahl&,   5 : EndIf

                                                If    Zahl& >=    4 : erg$ = erg$ + IV : Sub zahl&,   4 : EndIf

                                                    While Zahl& >=    1 : erg$ = erg$ + I  : Sub zahl&,   1 : EndWhile

                                                        Return erg$

                                                    EndProc

                                                    Cls
                                                    print römische Zahlzeichen:
                                                    print    7 =,Arab2Roem$(7)
                                                    print   84 =,Arab2Roem$(84)
                                                    print 1932 =,Arab2Roem$(1932)
                                                    print 2006 =,Arab2Roem$(2006)
                                                    WaitKey
                                                    ='./../../function-references/xprofan/end/'>End
 
Programmieren, das spannendste Detektivspiel der Welt.
14.12.2005  
 




Frank
Abbing
He, cool! Das kann ich sicher mal brauchen...
Vielleicht sollte man solche Postings extra katalogisieren. Rubrik: Konverter.
 
14.12.2005  
 




Jac
de
Lad
Genial! Jetzt fehlt nur noch dir Umkehrfunktion...!

Jac
 
Profan² 2.6 bis XProfan 11.1+XPSE+XPIA+XPRR (und irgendwann XIDE)
Core2Duo E8500/T2250, 8192/1024 MB, Radeon HD4850/Radeon XPress 1250, Vista64/XP
14.12.2005  
 




Michael
Wodrich
Gugst Du unter Roem2Arab.
 
Programmieren, das spannendste Detektivspiel der Welt.
14.12.2005  
 



Zum Quelltext


Topictitle, max. 100 characters.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Topic-Options

4.245 Views

Untitledvor 0 min.
RudiB.01.04.2020
p.specht12.04.2017
iF01.06.2013
Sebastian Sprenger20.03.2013
Di più...

Themeninformationen



Admins  |  AGB  |  Applications  |  Autori  |  Chat  |  Informativa sulla privacy  |  Download  |  Entrance  |  Aiuto  |  Merchantportal  |  Impronta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Giochi  |  Cerca  |  Support

Ein Projekt aller XProfaner, die es gibt!


Il mio XProfan
Private Notizie
Eigenes Ablageforum
Argomenti-Merkliste
Eigene Beiträge
Eigene Argomenti
Zwischenablage
Annullare
 Deutsch English Français Español Italia
Traduzioni

Informativa sulla privacy


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie