lrint()
[Math]
long lrint(double x);Description
Returns the value of x rounded to the nearest integer value, rounding halfway cases to the even integer value.
Parameters
x: The value to calculate the rounded value.
Returns
The value of x rounded to the nearest integer value as a long number.
Example Code
The code reads the value of a potentiometer connected to pin
IN and places the rounded value of x on pin
OUT.
void setup() {
pinLabel(0, "IN"); // set the label of pin 0 to "IN"
pinLabel(1, "OUT"); // set the label of pin 1 to "OUT"
pinMode(1, OUTPUT); // set pin 1 as output
pinLabel(2, "VCC"); // set the label of pin 2 to "VCC"
powerPin(2); // set pin 2 as power pin
pinLabel(3, "GND"); // set the label of pin 3 to "GND"
groundPin(3); // set pin 3 as ground pin
}
void loop() {
int val = analogRead(0); // read the value of the potentiometer
double x = map(val, 0, 1023, -5, 5); // map the value
long y = lrint(x); // calculate the rounded value of x
int pwm = (int) map(y, -5, 5, 0, 1023); // map the value
analogWrite(1, pwm); // write the value of pwm to pin 1
}Notes and Warnings
- If
xis not a finite number or an overflow occurs, this function returns theLONG_MINvalue (0x80000000).
