Logo
Convert an integer to Roman-Numeral
Online Now: 0

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z Snippets Functions Classes

Home | PHP Resources | MySQL Zipbase | Forums

Snippet Code
<?php
function romanNumerals($num){
    
$n intval($num);
    
$res '';

    
/*** roman_numerals array  ***/
    
$roman_numerals = array(
        
'M'  => 1000,
        
'CM' => 900,
        
'D'  => 500,
        
'CD' => 400,
        
'C'  => 100,
        
'XC' => 90,
        
'L'  => 50,
        
'XL' => 40,
        
'X'  => 10,
        
'IX' => 9,
        
'V'  => 5,
        
'IV' => 4,
        
'I'  => 1);

    foreach (
$roman_numerals as $roman => $number){
        
/*** divide to get  matches ***/
        
$matches intval($n $number);

        
/*** assign the roman char * $matches ***/
        
$res .= str_repeat($roman$matches);

        
/*** substract from the number ***/
        
$n $n $number;
    }

    
/*** return the res ***/
    
return $res;
}

echo 
romanNumerals(23);
?>
Snippet Comments

Add Your Comment

david
09/04/2010
The function should have a upper and lower limit. The numbers that can be generated correctly are between 0 and 4999.

The subtractive principle isn't the only way to write 4 or 9. The function should provide an option to support the alternative writing of those numbers.

Add Your Comment

 
Snippet Tools
Rate this Snippet:

Current Score: 3.3
Total votes: 71

Other top snippets by Sandriell:

1. Convert an integer to Roman-Numeral
2. Return all repeated values from Array

Search

Input key terms:
User Pannel

User name:

Password:

Register And Post Your Own Snippets

Snippets On Watch

1.  Auth Class with (2.83 of 87)

2.  Test Please Delete (2.83 of 30)

3.  Return all repeated (3.64 of 72)

4.  Convert an integer (3.3 of 71)

5.  URL Shortening for (2.75 of 52)

6.  Monthly Content Sorting (3 of 45)

7.  Show String Trimmed (2.97 of 65)

8.  Human readable file (2.01 of 70)

9.  Randomize array values (2.8 of 82)

10.  Create a recursive (3.35 of 55)

New Snippets

1.  Parse RFC822 date (4 of 1)

2.  Dynamic Image Uploading (5 of 1)

3.  Spam Filter (0 of 0)

4.  Is Multiple (0 of 0)

5.  Base64 Encode / (0 of 0)

6.  URL Encode / (0 of 0)

7.  temp openbills (0 of 0)

8.  Php Iban Validator (0 of 0)

9.  Mysql Table Builder (0 of 0)

10.  File size of (1.75 of 4)

11.  Mail from your (1 of 1)

12.  OddEven Class (0 of 0)

13.  Detect if a (1 of 1)

14.  MB CopyMCF-DIR :: (5 of 1)

15.  Upper/Lower Case Accented (0 of 0)

16.  Zodiac Signs (3 of 1)

17.  Really useful code (2.5 of 2)

18.  Calculate Central European (0 of 0)

19.  Email Attachment (4 of 1)

20.  ImageMagick Image Upload (0 of 0)

21.  convert plain html (2 of 2)

22.  Tag Builder (3.25 of 4)

23.  Get Inserted ID (4.33 of 3)

24.  Watermark An Image (3.33 of 3)

25.  Check Prime Numbers (1.5 of 8)

Home | Forum | Free PHP Web Hosting | Contact | Terms & Conditions |  
Donate
PHPSnips.com - ©2010