Contents

IntegerParseStrategy

A parse strategy for creating integer values from formatted strings.

Declaration

struct IntegerParseStrategy<Format> where Format : FormatStyle, Format.FormatInput : BinaryInteger

Overview

Create an explicit IntegerParseStrategy to parse multiple strings according to the same parse strategy. In the following example, usCurrencyStrategy is an IntegerParseStrategy that uses US dollars and the en_US locale’s conventions for number formatting. The example then uses this strategy to parse an array of strings, some of which represent valid US currency values.

let usCurrencyStrategy: IntegerParseStrategy =
    IntegerFormatStyle<Int>.Currency(code: "USD",
                                     locale: Locale(identifier: "en_US"))
    .parseStrategy
let currencyValues = ["$100", "$1,000", "$10,000", "€100"]
let parsedValues = currencyValues.map { try? usCurrencyStrategy.parse($0) } // [Optional(100), Optional(1000), Optional(10000), nil]

You don’t need to instantiate a parse strategy variable to parse a single string. Instead, use the BinaryInteger initializers that take a source String and a format parameter to parse the string according to the provided FormatStyle. The following example parses a string that represents a currency value in US dollars.

let formattedUSDollars = "$1,234"
let parsedUSDollars = try? Int(formattedUSDollars, format: .currency(code: "USD")
    .locale(Locale(identifier: "en_US"))) // 1234

Topics

Creating an integer parse strategy

Accessing strategy properties

See Also

Data parsing in Swift