Fixed the decimals function, it can't be perfect but it should be good enough. Closes #1955

This commit is contained in:
Juan Linietsky 2016-01-03 19:18:47 -03:00
parent 908f75c23f
commit 7a931b4d3a

View file

@ -207,9 +207,15 @@ double Math::ceil(double p_x) {
int Math::decimals(double p_step) {
int max=4;
double llimit = Math::pow(0.1,max);
double ulimit = 1.0-llimit;
int i=0;
while( (p_step - Math::floor(p_step)) != 0.0 && max) {
while( max) {
float d = absf(p_step) - Math::floor(absf(p_step));
if (d<llimit || d>ulimit)
break;
p_step*=10.0;
max--;
i++;