# GooglePlacesSwift Framework Reference

# Money

    struct Money

    extension Money : Copyable, CustomStringConvertible, Equatable, Escapable, Hashable, Sendable, SendableMetatype

Represents an amount of money with its currency type.
- `


  ### [==(_:_:)](https://developers.google.com/maps/documentation/places/ios-sdk/reference/swift/Structs/Money#/s:17GooglePlacesSwift5MoneyV2eeoiySbAC_ACtFZ)


  ` Returns a Boolean value indicating whether two values are equal.

  Equality is the inverse of inequality. For any values `a` and `b`,
  `a == b` implies that `a != b` is `false`.

  #### Declaration

  Swift

      static func == (lhs: Money, rhs: Money) -> Bool

  #### Parameters

  |---|---|
  | ` lhs ` | A value to compare. |
  | ` rhs ` | Another value to compare. |

- `


  ### [currencyCode](https://developers.google.com/maps/documentation/places/ios-sdk/reference/swift/Structs/Money#/s:17GooglePlacesSwift5MoneyV12currencyCodeSSvp)


  ` The three-letter currency code defined in ISO 4217.

  #### Declaration

  Swift

      var currencyCode: String { get }

- `


  ### [description](https://developers.google.com/maps/documentation/places/ios-sdk/reference/swift/Structs/Money#/s:17GooglePlacesSwift5MoneyV11descriptionSSvp)


  ` A textual representation of this instance.

  Calling this property directly is discouraged. Instead, convert an
  instance of any type to a string by using the `String(describing:)`
  initializer. This initializer works with any type, and uses the custom
  `description` property for types that conform to
  `CustomStringConvertible`:

      struct Point: CustomStringConvertible {
          let x: Int, y: Int

          var description: String {
              return "(\(x), \(y))"
          }
      }

      let p = Point(x: 21, y: 30)
      let s = String(describing: p)
      print(s)
      // Prints "(21, 30)"

  The conversion of `p` to a string in the assignment to `s` uses the
  `Point` type's `description` property.

  #### Declaration

  Swift

      var description: String { get }

- `


  ### [hash(into:)](https://developers.google.com/maps/documentation/places/ios-sdk/reference/swift/Structs/Money#/s:17GooglePlacesSwift5MoneyV4hash4intoys6HasherVz_tF)


  ` Hashes the essential components of this value by feeding them into the
  given hasher.

  Implement this method to conform to the `Hashable` protocol. The
  components used for hashing must be the same as the components compared
  in your type's `==` operator implementation. Call `hasher.combine(_:)`
  with each of these components.
  Important

  In your implementation of `hash(into:)`,
  don't call `finalize()` on the `hasher` instance provided,
  or replace it with a different instance.
  Doing so may become a compile-time error in the future.

  #### Declaration

  Swift

      func hash(into hasher: inout Hasher)

- `


  ### [hashValue](https://developers.google.com/maps/documentation/places/ios-sdk/reference/swift/Structs/Money#/s:17GooglePlacesSwift5MoneyV9hashValueSivp)


  ` The hash value.

  Hash values are not guaranteed to be equal across different executions of
  your program. Do not save hash values to use during a future execution.
  Important
  `hashValue` is deprecated as a `Hashable` requirement. To conform to `Hashable`, implement the `https://developers.google.com/maps/documentation/places/ios-sdk/reference/swift/Structs/Money.html#/s:17GooglePlacesSwift5MoneyV4hash4intoys6HasherVz_tF` requirement instead. The compiler provides an implementation for `hashValue` for you.

  #### Declaration

  Swift

      var hashValue: Int { get }

- `


  ### [nanos](https://developers.google.com/maps/documentation/places/ios-sdk/reference/swift/Structs/Money#/s:17GooglePlacesSwift5MoneyV5nanosSivp)


  ` The number of nano (1e-9) units of the amount. The value must be between -999,999,999
  and +999,999,999 inclusive. For example $-1.75 is represented as units=-1 and
  nanos=-750,000,000.

  If "units" is positive, "nanos" must be positive or zero. If "units" is zero, "nanos" can be
  positive, zero, or negative. If "units" is negative, "nanos" must be negative or zero.

  #### Declaration

  Swift

      var nanos: Int { get }

- `


  ### [units](https://developers.google.com/maps/documentation/places/ios-sdk/reference/swift/Structs/Money#/s:17GooglePlacesSwift5MoneyV5unitss5Int64Vvp)


  ` The whole units of the amount. For example if "currencyCode" is "USD", then 1 unit is
  one US dollar.

  #### Declaration

  Swift

      var units: Int64 { get }