# CFX::GET_CONVAR_FLOAT

- **Hash:** `0x9E666D`
- **Namespace:** CFX
- **Runtime name (Lua/JS):** `GetConvarFloat`
- **Side:** shared (Cfx runtime native)
- **Name status:** official
- **Documentation:** described
- **URL:** https://natives.borderlinerp.com/natives/CFX/GET_CONVAR_FLOAT

## Signature

```c
float GET_CONVAR_FLOAT(char* varName, float defaultValue);
```

## Parameters

- `varName` (`char*`) — The console variable to get
- `defaultValue` (`float`) — The default value to set, if none are found.

## Returns

`float` — Returns the value set in varName, or `default` if none are specified

## Description

*Source: Cfx.re native reference*

This will have floating point inaccuracy.

## Usage

### Lua

```lua
local retval = GetConvarFloat(varName, defaultValue)

-- always available, by hash
local retval = Citizen.InvokeNative(0x9e666d, varName, defaultValue, Citizen.ResultAsFloat())
```

### JavaScript

```js
const retval = GetConvarFloat(varName, defaultValue);

// by hash
const retval = Citizen.invokeNative('0x9e666d', varName, defaultValue + 0.0000001, Citizen.returnResultAnyway(), Citizen.resultAsFloat());
```

### C#

```csharp
float retval = Function.Call<float>((Hash)0x9e666d, varName, defaultValue);
```

- Float parameters: Lua integers (`10`, or whole numbers decoded from NUI/JSON) are sent as ints and read as garbage. Write `10.0` or `value + 0.0`. The generated JS wrappers add `0.0000001` to non-zero floats for the same reason.

*Sources: Cfx.re native reference.*
