---
title: Measurement
framework: foundation
role: symbol
role_heading: Structure
path: foundation/measurement
---

# Measurement

A numeric quantity labeled with a unit of measure, with support for unit conversion and unit-aware calculations.

## Declaration

```swift
struct Measurement<UnitType> where UnitType : Unit
```

## Overview

Overview A Measurement object represents a quantity and unit of measure. The Measurement type provides a programmatic interface to converting measurements into different units, as well as calculating the sum or difference between two measurements. Measurement objects are initialized with a Unit object and double value. Measurement objects are immutable, and cannot be changed after being created. Measurements support a large set of operators, including +, -, *, /, and a full set of comparison operators.

## Topics

### Creating a Measurement

- [init(value:unit:)](foundation/measurement/init(value:unit:).md)

### Accessing the Value and Units

- [unit](foundation/measurement/unit.md)
- [value](foundation/measurement/value.md)

### Converting to Other Units

- [convert(to:)](foundation/measurement/convert(to:).md)
- [converted(to:)](foundation/measurement/converted(to:).md)

### Operating on a Measurement

- [*(_:_:)](foundation/measurement/*(_:_:)-1d26c.md)
- [*(_:_:)](foundation/measurement/*(_:_:)-5tv8a.md)
- [+(_:_:)](foundation/measurement/+(_:_:)-9lejn.md)
- [+(_:_:)](foundation/measurement/+(_:_:)-4fsbl.md)
- [-(_:_:)](foundation/measurement/-(_:_:)-2nnoy.md)
- [-(_:_:)](foundation/measurement/-(_:_:)-1a47h.md)
- [/(_:_:)](foundation/measurement/_(_:_:)-98s40.md)
- [/(_:_:)](foundation/measurement/_(_:_:)-71kwk.md)

### Formatting a Measurement

- [formatted()](foundation/measurement/formatted().md)
- [formatted(_:)](foundation/measurement/formatted(_:).md)
- [Measurement.FormatStyle](foundation/measurement/formatstyle.md)
- [Measurement.AttributedStyle](foundation/measurement/attributedstyle.md)

### Comparing Measurements

- [<(_:_:)](foundation/measurement/_(_:_:)-7pou4.md)

### Using Reference Types

- [NSMeasurement](foundation/nsmeasurement.md)

### Type Aliases

- [Measurement.Specification](foundation/measurement/specification.md)
- [Measurement.UnwrappedType](foundation/measurement/unwrappedtype.md)
- [Measurement.ValueType](foundation/measurement/valuetype.md)

### Type Properties

- [defaultResolverSpecification](foundation/measurement/defaultresolverspecification.md)

### Default Implementations

- [Comparable Implementations](foundation/measurement/comparable-implementations.md)
- [Equatable Implementations](foundation/measurement/equatable-implementations.md)

## Relationships

### Conforms To

- [Comparable](swift/comparable.md)
- [Copyable](swift/copyable.md)
- [CustomDebugStringConvertible](swift/customdebugstringconvertible.md)
- [CustomReflectable](swift/customreflectable.md)
- [CustomStringConvertible](swift/customstringconvertible.md)
- [Decodable](swift/decodable.md)
- [ElectricityInsightMeasure](energykit/electricityinsightmeasure.md)
- [Encodable](swift/encodable.md)
- [Equatable](swift/equatable.md)
- [Escapable](swift/escapable.md)
- [Hashable](swift/hashable.md)
- [IntentValueConvertible](appintents/intentvalueconvertible.md)
- [IntentValueExpressing](appintents/intentvalueexpressing.md)
- [ReferenceConvertible](foundation/referenceconvertible.md)
- [Sendable](swift/sendable.md)
- [SendableMetatype](swift/sendablemetatype.md)

## See Also

### Essentials

- [NSMeasurement](foundation/nsmeasurement.md)
- [Unit](foundation/unit.md)
- [Dimension](foundation/dimension.md)
