float round1dp(float f)
{
float f1 = int(f * 10.0f + (signbit(f) ? -0.5f : +0.5f)) / 10.0f;
Serial.print(f, 3);
Serial.print("\t");
Serial.println(f1, 3);
return f1;
//return int(f * 10.0f + (signbit(f) ? -0.5f : +0.5f)) / 10.0f;
//return int(f * 10.0f + (f < 0 ? -0.5f : +0.5f)) / 10.0f;
}
void setup()
{
// put your setup code here, to run once:
Serial.begin(115200);
float floats[] = { -10.00f, -9.56f, -9.55f, -9.54, +10.00f, +9.56f, +9.55f, +9.54 };
for (const auto f : floats)
{
float f1 = round1dp(f);
}
for (float f = -10.0f; f < +10.0f; f += 0.01)
{
float f1 = round1dp(f);
}
Serial.flush();
}
void loop()
{
// put your main code here, to run repeatedly:
}
uno:A5.2
uno:A4.2
uno:AREF
uno:GND.1
uno:13
uno:12
uno:11
uno:10
uno:9
uno:8
uno:7
uno:6
uno:5
uno:4
uno:3
uno:2
uno:1
uno:0
uno:IOREF
uno:RESET
uno:3.3V
uno:5V
uno:GND.2
uno:GND.3
uno:VIN
uno:A0
uno:A1
uno:A2
uno:A3
uno:A4
uno:A5