![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 63 Pomógł: 0 Dołączył: 31.08.2003 Ostrzeżenie: (0%) ![]() ![]() |
Jak w php można szybko zamienić cyfry arabskie na rzymskie?
|
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 68 Pomógł: 0 Dołączył: 6.06.2005 Skąd: CBŚ Ostrzeżenie: (0%) ![]() ![]() |
Nie wiem czy to pomoże ale znalazłem taki skrypt w JavaScript. Może Ci to pomoże.
http://shive2.avx.pl/files/js/18/18_74.zip -------------------- "Kraj, który w technice nie postępuje, cofa się" - prof.S.Wł.Bryła
pajacyk.pl - a co Ci szkodzi kliknąć SOS please someone help me... ![]() |
|
|
![]()
Post
#3
|
|
Grupa: Zarejestrowani Postów: 26 Pomógł: 0 Dołączył: 16.12.2005 Ostrzeżenie: (0%) ![]() ![]() |
W php to niestety nie wiem ale tu jest działający dobrze skrypcik:
Kod <script language="JavaScript">
function Roman() { var Num=document.NumF.Num.value; var MvC=0 var MvC2=0 var MvX=0 var MvX2=0 var MvI=0 var MvI2=0 var Mvalue="" var MV1=1000 var DV1=500 var MoreMs=0 var MoreV="" //Start Big Loop!! while(Num >= MV1) { Num=Num - MV1 MoreMs++ } if(MoreMs >= 4) { while(MoreMs >= 1000) { MoreMs=MoreMs - 1000 MoreV+="M" } if(MoreMs >= 900 && MoreMs < 1000) { MoreMs=MoreMs - 900 MoreV+="CM" } while(MoreMs >= 500 && MoreMs < 1000) { MoreMs=MoreMs - 500 MoreV+="D" } if(MoreMs >= 400 && MoreMs < 500) { MoreMs=MoreMs - 400 MoreV+="CD" } while(MoreMs >= 100 && MoreMs < 500) { MoreMs=MoreMs - 100 MoreV+="C" } if(MoreMs >= 90 && MoreMs < 100) { MoreMs=MoreMs - 90 MoreV+="XC" } if(MoreMs >= 40 && MoreMs < 50) { MoreMs=MoreMs - 40 MoreV+="XL" } while(MoreMs >= 50 && MoreMs < 100) { MoreMs=MoreMs - 50 MoreV+="L" } if(MoreMs >= 9 && MoreMs < 10) { MoreMs=MoreMs - 9 MoreV+="IX" } while(MoreMs >= 10 && MoreMs < 50) { MoreMs=MoreMs - 10 MoreV+="X" } if(MoreMs == 9) { MoreMs=MoreMs - 9 MoreV+="IX" } while(MoreMs >= 5 && MoreMs < 10) { MoreMs=MoreMs - 5 MoreV+="V" } if(MoreMs == 4) { MoreMs=MoreMs - 4 MoreV+="IV" } if(MoreMs == 3) { MoreV+="I" MoreMs-- } if(MoreMs == 2) { MoreV+="I" MoreMs-- } if(MoreMs == 1) { MoreV+="I" MoreMs-- } } if(MoreMs == 3) { Mvalue+="M" MoreMs-- } if(MoreMs == 2) { Mvalue+="M" MoreMs-- } if(MoreMs == 1) { Mvalue+="M" MoreMs-- } while(Num < MV1 && Num >= DV1) { if(Num >= 900) { Mvalue+="CM" Num=Num - 900 } else if(Num < 900 && Num >= DV1) { Num=Num - DV1 Mvalue+="D" } } while(Num < 500 && Num >= 100) { Num=Num - 100 MvC2++ } if(MvC2 == 4) { Mvalue+="CD" } if(MvC2 == 3) { Mvalue+="C" MvC2-- } if(MvC2 == 2) { Mvalue+="C" MvC2-- } if(MvC2 == 1) { Mvalue+="C" MvC2-- } while(Num < 100 && Num >= 50) { if(Num >= 90) { Mvalue+="XC" Num=Num - 90 } else if(Num < 90 && Num >= 50) { Num=Num - 50 Mvalue+="L" } } while(Num < 50 && Num >= 10) { Num=Num - 10 MvX2++ } if(MvX2 == 4) { Mvalue+="LX" } if(MvX2 == 3) { Mvalue+="X" MvX2-- } if(MvX2 == 2) { Mvalue+="X" MvX2-- } if(MvX2 == 1) { Mvalue+="X" MvX2-- } if(Num == 9) { Mvalue+="IX" Num=Num - 9 } while(Num < 10 && Num >= 5) { if(Num <= 8 && Num >= 5) { Num=Num - 5 Mvalue+="V" } } while(Num < 5 && Num >= 1) { Num=Num - 1 MvI2++ if(MvI2 == 4) { Mvalue+="IV" } } if(MvI2 == 3) { Mvalue+="I" MvI2-- } if(MvI2 == 2) { Mvalue+="I" MvI2-- } if(MvI2 == 1) { MvI2-- Mvalue+="I" } //End Big Loop! //Begin Smaller Loops! while(Num >= 500 && Num < 1000 || Num == 500) { if(Num >= 900) { Mvalue+="CM" Num=Num - 900 } else if(Num < 900 && Num >= DV1) { Num=Num - DV1 Mvalue+="D" }} while(Num >= 100 && Num < 500 || Num == 100) { Num=Num - 100 MvC++ } if(MvC == 4) { Mvalue+="CD" } if(MvC == 3) { Mvalue+="C" MvC-- } if(MvC == 2) { Mvalue+="C" MvC-- } if(MvC == 1) { Mvalue+="C" MvC-- } while(Num >= 50 && Num < 100 || Num == 50) { if(Num >= 90) { Mvalue+="XC" Num=Num - 90 } else if(Num < 90 && Num >= 50) { Num=Num - 50 Mvalue+="L" } } while(Num >= 10 && Num < 50 || Num == 10) { Num=Num - 10 MvX++ } if(MvX ==4) { Mvalue+="LX" } if(MvX == 3) { Mvalue+="X" MvX-- } if(MvX == 2) { Mvalue+="X" MvX-- } if(MvX == 1) { Mvalue+="X" MvX-- } if(Num == 9) { Mvalue+="IX" Num=Num - 9 } while(Num >= 5 && Num < 10 || Num == 5) { if(Num <= 8 && Num >= 5) { Num=Num - 5 Mvalue+="V" } } while(Num >= 1 && Num < 5 || Num == 1) { Num=Num - 1 MvI++ if(MvI == 4) { Mvalue+="IV" } } if(MvI == 3) { Mvalue+="I" MvI-- } if(MvI == 2) { Mvalue+="I" MvI-- } if(MvI == 1) { MvI-- Mvalue+="I" } //End Smaller Loops! MoreV1.innerHTML=MoreV MoreV2.innerHTML=Mvalue } //--> </script><form name="NumF"> <input type="text" value="" name="Num"> <input type="button" value="Przelicz" onClick="Roman()"> <span id="MoreV1" style="text-decoration: overline"></span> <span id="MoreV2"></spaN> </form> Ten post edytował maxib 17.12.2005, 03:24:28 |
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 63 Pomógł: 0 Dołączył: 31.08.2003 Ostrzeżenie: (0%) ![]() ![]() |
Dzieki serdedczne, jako ze tych cyfr rzymskich mialo byc tylko 20 od I do XX to zrobilem to w taki sposob ze stworzylem tablice z cyframi rzymskimi I, II, III itd nastepnie poslugujac sie nuemrami indexu wyswietlalem dla danego numeru przekazanego przez link odpowiedni element z tej tablicy ...
|
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 14.05.2025 - 10:01 |