Latest 1.1.0
Homepage https://github.com/nvzqz/Roman
License MIT
Platforms ios 8.0, osx 10.9, watchos 2.0, tvos 9.0

Roman Banner

Platform
Swift Package Manager


CocoaPods


Carthage


MIT License

Installation
Usage
License
Documentation

Roman is a Swift framework that allows for seamless Roman numeral conversion.

Installation

Compatibility:

  • Platforms:
    • OS X
    • iOS
    • watchOS
    • tvOS
    • Linux
  • Language:
    • Swift 2.1+

Install Using Swift Package Manager

The Swift Package Manager is a
decentralized dependency manager for Swift.

  1. Add the project to your Package.swift.

    import PackageDescription
    
    let package = Package(
        name: "MyAwesomeProject",
        dependencies: [
            .Package(url: "https://github.com/nvzqz/Roman.git",
                     majorVersion: 1)
        ]
    )
  2. Import the Roman module.

    import Roman

Install Using CocoaPods

CocoaPods is a centralized dependency manager for
Objective-C and Swift. Go here
to learn more.

  1. Add the project to your Podfile.

    use_frameworks!
    
    pod 'Roman', '~> 1.1.0'
  2. Run pod install and open the .xcworkspace file to launch Xcode.

  3. Import the Roman framework.

    import Roman

Install Using Carthage

Carthage is a decentralized dependency
manager for Objective-C and Swift.

  1. Add the project to your Cartfile.

    github "nvzqz/Roman"
  2. Run carthage update and follow the additional steps
    in order to add Roman to your project.

  3. Import the Roman framework.

    import Roman

Install Manually

Simply add the Roman.swift file into your project.

Usage

String

A Roman numeral string can be created from an instance of a type that conforms
to IntegerType.

String(roman: 1478)  // "MCDLXXVIII"
String(roman: 2743)  // "MMDCCXLIII"
String(roman: 1226)  // "MCCXXVI"
String(roman: 0)     // nil
String(roman: -42)   // nil

IntegerType

All types that conform to IntegerType can be initialized from a Roman numeral
string.

The input string is case insensitive.

Int(roman: "III")  // 3
Int(roman: "MIV")  // 1004
Int(roman: "CdV")  // 405

Roman even supports irregular numerals that don’t use a short form.

Each of the following evaluates to true:

Int(roman: "IV") == Int(roman: "IIII")
Int(roman: "XX") == Int(roman: "VVVV")
Int(roman: "CD") == Int(roman: "CCCC")

Invalid strings return nil.

Int(roman: "hello") == nil
Int(roman: "IIIXX") == nil
Int(roman: "XYZ")   == nil

FloatingPointType

All types that conform to FloatingPointType can be initialized from a Roman
numeral string.

Creating instances from Roman numerals works the same way as with IntegerType.

License

Roman is released under the MIT License.

All assets are released under the Creative Commons Attribution-ShareAlike 4.0 International License
and can be found in the Assets
folder.

Latest podspec

{
    "name": "Roman",
    "version": "1.1.0",
    "summary": "Seamless Roman numeral conversion in Swift.",
    "homepage": "https://github.com/nvzqz/Roman",
    "license": {
        "type": "MIT",
        "file": "LICENSE.txt"
    },
    "authors": "Nikolai Vazquez",
    "platforms": {
        "ios": "8.0",
        "osx": "10.9",
        "watchos": "2.0",
        "tvos": "9.0"
    },
    "source": {
        "git": "https://github.com/nvzqz/Roman.git",
        "tag": "v1.1.0"
    },
    "source_files": "Sources/*.swift"
}

Pin It on Pinterest

Share This