:orphan:
# PetscOptionsRangeInt
Gets an integer value within a range of values for a particular option in the database.
## Synopsis
```
#include "petscsys.h"
PetscErrorCode PetscOptionsRangeInt(const char opt[],const char text[],const char man[],PetscInt currentvalue,PetscInt *value,PetscBool *flg,PetscInt lb,PetscInt ub)
```
Logically Collective on the communicator passed in `PetscOptionsBegin()`
## Input Parameters
- ***opt -*** option name
- ***text -*** short string that describes the option
- ***man -*** manual page with additional information on option
- ***currentvalue -*** the current value; caller is responsible for setting this value correctly. Normally this is done with either
```none
PetscOptionsInt(..., obj->value,&obj->value,...) or
value = defaultvalue
PetscOptionsInt(..., value,&value,&flg);
if (flg) {
```
- ***lb -*** the lower bound, provided value must be greater than or equal to this value or an error is generated
- ***ub -*** the upper bound, provided value must be less than or equal to this value or an error is generated
## Output Parameters
- ***value -*** the integer value to return
- ***flg -*** `PETSC_TRUE` if found, else `PETSC_FALSE`
## Notes
If the user does not supply the option at all `value` is NOT changed. Thus
you should ALWAYS initialize `value` if you access it without first checking if `flg` is `PETSC_TRUE`.
The `currentvalue` passed into this routine does not get transferred to the output `value` variable automatically.
Must be between a `PetscOptionsBegin()` and a `PetscOptionsEnd()`
## See Also
`PetscOptionsInt()`, `PetscOptionsGetReal()`, `PetscOptionsHasName()`, `PetscOptionsGetString()`, `PetscOptionsGetInt()`,
`PetscOptionsGetIntArray()`, `PetscOptionsGetRealArray()`, `PetscOptionsGetBool()`, `PetscOptionsBoundedInt()`
`PetscOptionsInt()`, `PetscOptionsString()`, `PetscOptionsReal()`, `PetscOptionsBool()`,
`PetscOptionsName()`, `PetscOptionsBegin()`, `PetscOptionsEnd()`, `PetscOptionsHeadBegin()`,
`PetscOptionsStringArray()`, `PetscOptionsRealArray()`, `PetscOptionsScalar()`,
`PetscOptionsBoolGroupBegin()`, `PetscOptionsBoolGroup()`, `PetscOptionsBoolGroupEnd()`,
`PetscOptionsFList()`, `PetscOptionsEList()`
## Level
beginner
## Location
src/sys/objects/aoptions.c
## Examples
src/dm/dt/dualspace/impls/lagrange/tutorials/ex1.c
src/dm/dt/dualspace/impls/lagrange/tutorials/ex2.c
src/dm/field/tutorials/ex1.c
src/dm/tutorials/ex22.c
---
[Edit on GitLab](https://gitlab.com/petsc/petsc/-/edit/release/src/sys/objects/aoptions.c)
[Index of all Sys routines](index.md)
[Table of Contents for all manual pages](/manualpages/index.md)
[Index of all manual pages](/manualpages/singleindex.md)