Это то, что я сделал, и это работает каждый раз.
var x= Number(54.03).toFixed(1);
if(Math.floor(x) == x) {
x = Math.floor(x);
}
alert( x );
Я просто сравниваю два типа, чтобы увидеть, совпадают ли они. Если они это сделают, то я знаю, что может быть или не быть дополнительного нуля. В любом случае, я просто округляю вверх (ceil) или down (floor) и получаю целое число без раздражающего десятичного числа и конечного нуля.