Skip to content

Instantly share code, notes, and snippets.

@stuartbreckenridge
Created July 21, 2016 23:53
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save stuartbreckenridge/592a58a20f7f10fa5d8af21752a109b5 to your computer and use it in GitHub Desktop.
Save stuartbreckenridge/592a58a20f7f10fa5d8af21752a109b5 to your computer and use it in GitHub Desktop.
Currency Converter for the Indian Numbering System
class UnitIndianCurrency:Dimension {
static let rupees = UnitIndianCurrency(symbol: "rupees", converter: UnitConverterLinear(coefficient: 1.0))
static let hazar = UnitIndianCurrency(symbol: "hazar", converter: UnitConverterLinear(coefficient: 1000.0))
static let lahk = UnitIndianCurrency(symbol: "lahk", converter: UnitConverterLinear(coefficient: 100000.0))
static let crore = UnitIndianCurrency(symbol: "crore", converter: UnitConverterLinear(coefficient: 10000000.0))
static let arab = UnitIndianCurrency(symbol: "arab", converter: UnitConverterLinear(coefficient: 1000000000.0))
static let kharab = UnitIndianCurrency(symbol: "kharab", converter: UnitConverterLinear(coefficient: 100000000000.0))
static let lahkCrore = UnitIndianCurrency(symbol: "lahk crore", converter: UnitConverterLinear(coefficient: 1000000000000.0))
static let neel = UnitIndianCurrency(symbol: "neel", converter: UnitConverterLinear(coefficient: 10000000000000.0))
static let padam = UnitIndianCurrency(symbol: "padam", converter: UnitConverterLinear(coefficient: 1000000000000000.0))
static let shankh = UnitIndianCurrency(symbol: "shankh", converter: UnitConverterLinear(coefficient: 1000000000000000000.0))
override static func baseUnit() -> UnitIndianCurrency {
return self.rupees
}
}
@stuartbreckenridge
Copy link
Author

let oneLahk = Measurement(value: 1.0, unit: UnitIndianCurrency.lahk) // 1.0 lahk
let rupeeValue = oneLahk.converted(to: .rupees) // 100000 rupees

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment