signed_overpunch v0.2.0 SignedOverpunch View Source
Module for converting a string in signed overpunch format into the corresponding integer.
Conversion Table:
| Code | Digit | Sign |
|---|---|---|
| } | 0 | − |
| J | 1 | − |
| K | 2 | − |
| L | 3 | − |
| M | 4 | − |
| N | 5 | − |
| O | 6 | − |
| P | 7 | − |
| Q | 8 | − |
| R | 9 | − |
| { | 0 | + |
| A | 1 | + |
| B | 2 | + |
| C | 3 | + |
| D | 4 | + |
| E | 5 | + |
| F | 6 | + |
| G | 7 | + |
| H | 8 | + |
| I | 9 | + |
Link to this section Summary
Functions
Converts a string in signed overpunch format to an integer
Converts a string in signed overpunch format to an integer
Converts an integer to signed overpunch format
Converts an integer to signed overpunch format
Link to this section Functions
Converts a string in signed overpunch format to an integer.
If successful, returns a tuple in the form of {:ok, integer}. Otherwise, it
returns :error.
Examples
iex> SignedOverpunch.convert("100{")
{:ok, 1000}
iex> SignedOverpunch.convert("100}")
{:ok, -1000}
iex> SignedOverpunch.convert("00I")
{:ok, 9}
iex> SignedOverpunch.convert("000")
:error
iex> SignedOverpunch.convert("GOTCHA")
:error
Converts a string in signed overpunch format to an integer.
Similar to SignedOverpunch.convert/1, but raises an ArgumentError if the
input provided is not valid signed overpunch.
Examples
iex> SignedOverpunch.convert!("100{")
1000
iex> SignedOverpunch.convert!("100}")
-1000
iex> SignedOverpunch.convert!("00I")
9
iex> SignedOverpunch.convert!("000")
** (ArgumentError) invalid signed overpunch value: 000
iex> SignedOverpunch.convert!("GOTCHA")
** (ArgumentError) invalid signed overpunch value: GOTCHA
Converts an integer to signed overpunch format.
If successful, returns a tuple in the form of {:ok, string}. Otherwise, it
returns :error.
Examples
iex> SignedOverpunch.to_s(1000)
{:ok, "100{"}
iex> SignedOverpunch.to_s(-1000)
{:ok, "100}"}
iex> SignedOverpunch.to_s(9)
{:ok, "I"}
iex> SignedOverpunch.to_s("GOTCHA")
:error
Converts an integer to signed overpunch format.
Similar to SignedOverpunch.to_string/1, but raises an ArgumentError if the
input provided is not an integer.
Examples
iex> SignedOverpunch.to_s!(1000)
"100{"
iex> SignedOverpunch.to_s!(-1000)
"100}"
iex> SignedOverpunch.to_s!(9)
"I"
iex> SignedOverpunch.to_s!("000")
** (ArgumentError) invalid integer: 000
iex> SignedOverpunch.to_s!("GOTCHA")
** (ArgumentError) invalid integer: GOTCHA
iex> SignedOverpunch.to_s!(10.0)
** (ArgumentError) invalid integer: 10.0