# DoubleConstrainedValue

Roblox Engine API class from Roblox Studio 0.744.0.7441077 (version-7aaa6838d36c4448).

- Inherits from, nearest first: [ValueBase](https://rapi.sleaze.dev/classes/ValueBase.md), [Instance](https://rapi.sleaze.dev/classes/Instance.md), [Object](https://rapi.sleaze.dev/classes/Object.md)
- Tags: Deprecated
- Memory category: Instances
- HTML page: https://rapi.sleaze.dev/classes/DoubleConstrainedValue/
- Roblox documentation: https://create.roblox.com/docs/reference/engine/classes/DoubleConstrainedValue

**Deprecated:** The DoubleConstrainedValue object has been deprecated as developers can now use the `math.clamp()` function to constrain values.

An instance which is used to create a number value which can never be less than the MinValue or more than the MaxValue.

## Properties

### ConstrainedValue

```luau
DoubleConstrainedValue.ConstrainedValue: number = 0
```

- Tags: Hidden, Not replicated, Load only

### MaxValue

```luau
DoubleConstrainedValue.MaxValue: number = 1
```

- Tags: Simulation access

The highest number that the [`DoubleConstrainedValue.Value`](https://rapi.sleaze.dev/classes/DoubleConstrainedValue.md) property can be.

### MinValue

```luau
DoubleConstrainedValue.MinValue: number = 0
```

- Tags: Simulation access

The lowest number that the [`DoubleConstrainedValue.Value`](https://rapi.sleaze.dev/classes/DoubleConstrainedValue.md) property can be.

### Value

```luau
DoubleConstrainedValue.Value: number = 0
```

- Tags: Not replicated, Load only, Simulation access

Used to hold a number value between [`DoubleConstrainedValue.MinValue`](https://rapi.sleaze.dev/classes/DoubleConstrainedValue.md) and [`DoubleConstrainedValue.MaxValue`](https://rapi.sleaze.dev/classes/DoubleConstrainedValue.md).

### value

```luau
DoubleConstrainedValue.value: number = 0
```

- Tags: Hidden, Not scriptable

## Events

### Changed

```luau
DoubleConstrainedValue.Changed: RBXScriptSignal<(value: number)>
```

Fired whenever the [`DoubleConstrainedValue.Value`](https://rapi.sleaze.dev/classes/DoubleConstrainedValue.md) of the [`DoubleConstrainedValue`](https://rapi.sleaze.dev/classes/DoubleConstrainedValue.md) is changed.

### changed

```luau
DoubleConstrainedValue.changed: RBXScriptSignal<(value: number)>
```

- Tags: Deprecated
- Use instead: [`DoubleConstrainedValue.Changed`](https://rapi.sleaze.dev/classes/DoubleConstrainedValue.md)

**Deprecated:** This event is a deprecated variant of [`DoubleConstrainedValue.Changed`](https://rapi.sleaze.dev/classes/DoubleConstrainedValue.md) which has also been deprecated. Neither event should be used in new work.

## Inherited members

- From [Instance](https://rapi.sleaze.dev/classes/Instance.md): `Archivable`, `archivable`, `Attributes`, `AttributesReplicate`, `AttributesSerialize`, `HistoryId`, `Name`, `Parent`, `PredictionMode`, `PropertyStatusStudio`, `RobloxLocked`, `SerializedOverrides`, `SourceAssetId`, `Tags`, `UniqueId`, `numExpectedDirectChildren`, `DataCost`, `Capabilities`, `DefinesCapabilities`, `IsInSandbox`, `Sandboxed`, `AddTag`, `ClearAllChildren`, `Clone`, `Destroy`, `FindFirstAncestor`, `FindFirstAncestorOfClass`, `FindFirstAncestorWhichIsA`, `FindFirstChild`, `FindFirstChildOfClass`, `FindFirstChildWhichIsA`, `FindFirstDescendant`, `GetActor`, `GetAttribute`, `GetAttributeChangedSignal`, `GetAttributes`, `GetChildren`, `GetDebugId`, `GetDescendants`, `GetFullName`, `GetStyled`, `GetStyledPropertyChangedSignal`, `GetTags`, `HasTag`, `IsAncestorOf`, `IsDescendantOf`, `IsPropertyModified`, `QueryDescendants`, `RemoveTag`, `ResetPropertyToDefault`, `SetAttribute`, `WaitForChild`, `Remove`, `children`, `clone`, `destroy`, `findFirstChild`, `getChildren`, `isDescendantOf`, `remove`, `AncestryChanged`, `AttributeChanged`, `ChildAdded`, `ChildRemoved`, `DescendantAdded`, `DescendantRemoving`, `Destroying`, `StyledPropertiesChanged`, `childAdded`
- From [Object](https://rapi.sleaze.dev/classes/Object.md): `ClassName`, `className`, `GetPropertyChangedSignal`, `IsA`, `isA`, `Changed`
