<!--
{
  "availability" : [
    "iOS: 16.0.0 -",
    "iPadOS: 16.0.0 -",
    "macCatalyst: 16.0.0 -",
    "macOS: 13.0.0 -",
    "tvOS: 16.0.0 -",
    "visionOS: 1.0.0 -",
    "watchOS: 9.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "Swift",
  "identifier" : "/documentation/Swift/Duration/UnitsFormatStyle/init(allowedUnits:width:maximumUnitCount:zeroValueUnits:valueLength:fractionalPart:)",
  "metadataVersion" : "0.1.0",
  "role" : "Initializer",
  "symbol" : {
    "kind" : "Initializer",
    "modules" : [
      "Swift"
    ],
    "preciseIdentifier" : "s:s8DurationV10FoundationE16UnitsFormatStyleV07allowedC05width16maximumUnitCount09zeroValueC011valueLength14fractionalPartAEShyAE0I0VG_AE0I5WidthVSiSgAE04ZerolC15DisplayStrategyVAqE010FractionalpsT0Vtcfc"
  },
  "title" : "init(allowedUnits:width:maximumUnitCount:zeroValueUnits:valueLength:fractionalPart:)"
}
-->

# init(allowedUnits:width:maximumUnitCount:zeroValueUnits:valueLength:fractionalPart:)

Creates a units format style using the given parameters.

```
init(allowedUnits: Set<Duration.UnitsFormatStyle.Unit>, width: Duration.UnitsFormatStyle.UnitWidth, maximumUnitCount: Int? = nil, zeroValueUnits: Duration.UnitsFormatStyle.ZeroValueUnitsDisplayStrategy = .hide, valueLength: Int? = nil, fractionalPart: Duration.UnitsFormatStyle.FractionalPartDisplayStrategy = .hide)
```

## Parameters

`allowedUnits`

The units that the formatted string may include.

`width`

The width of the unit and the spacing between the value and the unit.

`maximumUnitCount`

The maximum number of duration units to include in the output string.

`zeroValueUnits`

The strategy for handling leading units with zero values.

`valueLength`

The padding or truncating behavior of the unit value, as an `Int`.

`fractionalPart`

The strategy for displaying a duration if a formatted string can’t represent it exactly with the allowed units.

## Discussion

Use this convenience function in situations that expect a [`Duration.UnitsFormatStyle`](/documentation/Swift/Duration/UnitsFormatStyle), such as [`formatted(_:)`](/documentation/Swift/Duration/formatted(_:)), as an alternative to using the full initializer.

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)