# Class Quantity

- [TopLevel.Object](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md)
  - [dw.value.Quantity](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.value.Quantity.md)

Represents the quantity of an item.

## Property Summary

| Property                                                                                                                         | Description                                                                                                                                                         |
| -------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [available](#available): [Boolean](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Boolean.md) `(read-only)`      | Identifies if the instance contains settings for value and unit.                                                                                                    |
| [decimalValue](#decimalvalue): [Decimal](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.util.Decimal.md) `(read-only)` | Returns the quantity as [Decimal](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.util.Decimal.md), `null` is returned when the quantity is not available. |
| [unit](#unit): [String](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.String.md) `(read-only)`                  | Returns the value for unit which identifies the  unit of measure for the quantity.                                                                                  |
| [value](#value): [Number](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Number.md) `(read-only)`                | Returns the quantity value.                                                                                                                                         |

## Constructor Summary

| Constructor                                                                                                                                                                                                | Description                                                        |
| ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------ |
| [Quantity](#quantitynumber-string)([Number](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Number.md), [String](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.String.md)) | Creates a new quantity instance with the specified value and unit. |

## Method Summary

| Method                                                                                                                                                                                                  | Description                                                                                                                                                         |
| ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [add](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.value.Quantity.md#addquantity)([Quantity](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.value.Quantity.md))                   | Add Quantity object to the current object.                                                                                                                          |
| [compareTo](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.value.Quantity.md#comparetoquantity)([Quantity](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.value.Quantity.md))       | Compares two Quantity values.                                                                                                                                       |
| [divide](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.value.Quantity.md#dividenumber)([Number](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Number.md))                   | Divide Quantity object by specified divisor.                                                                                                                        |
| [equals](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.value.Quantity.md#equalsobject)([Object](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md))                   | Compares two decimal values whether they are equivalent.                                                                                                            |
| [getDecimalValue](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.value.Quantity.md#getdecimalvalue)()                                                                                         | Returns the quantity as [Decimal](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.util.Decimal.md), `null` is returned when the quantity is not available. |
| [getUnit](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.value.Quantity.md#getunit)()                                                                                                         | Returns the value for unit which identifies the  unit of measure for the quantity.                                                                                  |
| [getValue](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.value.Quantity.md#getvalue)()                                                                                                       | Returns the quantity value.                                                                                                                                         |
| [hashCode](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.value.Quantity.md#hashcode)()                                                                                                       | Calculates the hash code for a decimal.                                                                                                                             |
| [isAvailable](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.value.Quantity.md#isavailable)()                                                                                                 | Identifies if the instance contains settings for value and unit.                                                                                                    |
| [isOfSameUnit](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.value.Quantity.md#isofsameunitquantity)([Quantity](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.value.Quantity.md)) | Identifies if two Quantities have the same unit.                                                                                                                    |
| [multiply](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.value.Quantity.md#multiplynumber)([Number](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Number.md))               | Multiply Quantity object by specified factor.                                                                                                                       |
| [newQuantity](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.value.Quantity.md#newquantitydecimal)([Decimal](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.util.Decimal.md))       | Method returns a new instance of Quantity with the same unit but  different value.                                                                                  |
| [round](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.value.Quantity.md#roundnumber)([Number](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Number.md))                     | Rounds the Quantity value to the number of specified decimal digits.                                                                                                |
| [subtract](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.value.Quantity.md#subtractquantity)([Quantity](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.value.Quantity.md))         | Subtract Quantity object from the current object.                                                                                                                   |
| [toString](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.value.Quantity.md#tostring)()                                                                                                       | Returns a string representation of this quantity object.                                                                                                            |
| [valueOf](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.value.Quantity.md#valueof)()                                                                                                         | According to the ECMA spec returns the "natural" primitive value.                                                                                                   |

### Methods inherited from class Object

[assign](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#assignobject-object), [create](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#createobject), [create](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#createobject-object), [defineProperties](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#definepropertiesobject-object), [defineProperty](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#definepropertyobject-object-object), [entries](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#entriesobject), [freeze](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#freezeobject), [fromEntries](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#fromentriesiterable), [getOwnPropertyDescriptor](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#getownpropertydescriptorobject-object), [getOwnPropertyNames](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#getownpropertynamesobject), [getOwnPropertySymbols](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#getownpropertysymbolsobject), [getPrototypeOf](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#getprototypeofobject), [hasOwnProperty](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#hasownpropertystring), [is](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#isobject-object), [isExtensible](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#isextensibleobject), [isFrozen](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#isfrozenobject), [isPrototypeOf](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#isprototypeofobject), [isSealed](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#issealedobject), [keys](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#keysobject), [preventExtensions](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#preventextensionsobject), [propertyIsEnumerable](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#propertyisenumerablestring), [seal](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#sealobject), [setPrototypeOf](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#setprototypeofobject-object), [toLocaleString](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#tolocalestring), [toString](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#tostring), [valueOf](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#valueof), [values](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md#valuesobject)

## Property Details

### available

- available: [Boolean](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Boolean.md) `(read-only)`
  - : Identifies if the instance contains settings for value and unit.

***

### decimalValue

- decimalValue: [Decimal](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.util.Decimal.md) `(read-only)`
  - : Returns the quantity as [Decimal](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.util.Decimal.md), `null` is returned when the quantity is not available.

***

### unit

- unit: [String](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.String.md) `(read-only)`
  - : Returns the value for unit which identifies the
    unit of measure for the quantity. Examples of unit
    are 'inches' or 'pounds'.

***

### value

- value: [Number](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Number.md) `(read-only)`
  - : Returns the quantity value.

    **See Also:**

    - [getDecimalValue()](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.value.Quantity.md#getdecimalvalue)

***

## Constructor Details

### Quantity(Number, String)

- Quantity(value: [Number](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Number.md), unit: [String](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.String.md))
  - : Creates a new quantity instance with the specified value and unit.

    **Parameters:**

    - value - the actual quantity, must not be `null`
    - unit - the unit identifier for the quantity, must not be `null`

***

## Method Details

### add(Quantity)

- add(value: [Quantity](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.value.Quantity.md)): [Quantity](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.value.Quantity.md)
  - : Add Quantity object to the current object. Only objects representing the same unit can be added.

    **Parameters:**

    - value - Quantity object

    **Returns:**

    - Quantity object representing the sum of the operands

***

### compareTo(Quantity)

- compareTo(other: [Quantity](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.value.Quantity.md)): [Number](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Number.md)
  - : Compares two Quantity values. An exception is thrown if the two Quantities values
    are of different unit. If one of the Quantity values represents the N/A value
    it is treated as 0.0.

    **Parameters:**

    - other - the other quantity to compare.

    **Returns:**

    - the comparison.

***

### divide(Number)

- divide(divisor: [Number](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Number.md)): [Quantity](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.value.Quantity.md)
  - : Divide Quantity object by specified divisor.

    **Parameters:**

    - divisor - divisor

    **Returns:**

    - Quantity object representing division result

***

### equals(Object)

- equals(other: [Object](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md)): [Boolean](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Boolean.md)
  - : Compares two decimal values whether they are equivalent.

    **Parameters:**

    - other - the object to compare against this quantity instance.

    **Returns:**

    - true if equal, false otherwise.

***

### getDecimalValue()

- getDecimalValue(): [Decimal](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.util.Decimal.md)
  - : Returns the quantity as [Decimal](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.util.Decimal.md), `null` is returned when the quantity is not available.

    **Returns:**

    - the quantity as [Decimal](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.util.Decimal.md)

***

### getUnit()

- getUnit(): [String](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.String.md)
  - : Returns the value for unit which identifies the
    unit of measure for the quantity. Examples of unit
    are 'inches' or 'pounds'.

    **Returns:**

    - the unit value.

***

### getValue()

- getValue(): [Number](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Number.md)
  - : Returns the quantity value.

    **Returns:**

    - the quantity value.

    **See Also:**

    - [getDecimalValue()](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.value.Quantity.md#getdecimalvalue)

***

### hashCode()

- hashCode(): [Number](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Number.md)
  - : Calculates the hash code for a decimal.

    **Returns:**

    - the hash code.

***

### isAvailable()

- isAvailable(): [Boolean](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Boolean.md)
  - : Identifies if the instance contains settings for value and unit.

    **Returns:**

    - true if the instance is initialized with value and
      unit, false if the state is 'not available'.

***

### isOfSameUnit(Quantity)

- isOfSameUnit(value: [Quantity](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.value.Quantity.md)): [Boolean](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Boolean.md)
  - : Identifies if two Quantities have the same unit.

    **Parameters:**

    - value - the second quantity for the comparison.

    **Returns:**

    - true if both quantities have the same unit, false otherwise.

***

### multiply(Number)

- multiply(factor: [Number](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Number.md)): [Quantity](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.value.Quantity.md)
  - : Multiply Quantity object by specified factor.

    **Parameters:**

    - factor - multiplication factor

    **Returns:**

    - Quantity object representing multiplication result

***

### newQuantity(Decimal)

- newQuantity(value: [Decimal](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.util.Decimal.md)): [Quantity](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.value.Quantity.md)
  - : Method returns a new instance of Quantity with the same unit but
    different value. An N/A instance is returned if value is null.

    **Parameters:**

    - value - as a decimal

    **Returns:**

    - new Quantity instance with same unit

***

### round(Number)

- round(precision: [Number](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Number.md)): [Quantity](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.value.Quantity.md)
  - : Rounds the Quantity value to the number of specified decimal digits.

    **Parameters:**

    - precision - number of decimal digits after the decimal point

    **Returns:**

    - the new rounded Quantity value

***

### subtract(Quantity)

- subtract(value: [Quantity](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.value.Quantity.md)): [Quantity](/docs/commerce/b2c-commerce/references/b2c-script-api/dw.value.Quantity.md)
  - : Subtract Quantity object from the current object. Only objects representing the same unit can be subtracted.

    **Parameters:**

    - value - Quantity object to subtract

    **Returns:**

    - Quantity object representing the result of subtraction

***

### toString()

- toString(): [String](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.String.md)
  - : Returns a string representation of this quantity object.

    **Returns:**

    - a string representation of this quantity object.

***

### valueOf()

- valueOf(): [Object](/docs/commerce/b2c-commerce/references/b2c-script-api/TopLevel.Object.md)
  - : According to the ECMA spec returns the "natural" primitive value. Here
    the value portion of the Quantity is returned.

***
