1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34
| float min = GetMinValue();
float max = GetMaxValue();
float range = max-min;
float step = 0.0;
int precision = -3;
float power;
while (!step)
{
power = pow(10.0, precision);
if (range <= 1.0*power+power/100) {
step = 0.1*power;
}
else if (range <= 2.0*power+power/100) {
step = 0.2*power;
}
else if (range <= 5.0*power+power/100) {
step = 0.5*power;
}
else {
precision++;
}
}
precision--;
float time = min;
time = RoundUp(time, precision);
float remainder = (fabs(time)/step)-floor(fabs(time)/step);
while (remainder>0.0001) {
time+=0.1*power;
remainder = (fabs(time)/step)-floor(fabs(time)/step);
} |
Partager