Maybe this will work (num%1) is num modulo 1. Divide num by 1 and see what's left over.
3%2=1
12%5=2
1.0001%1=0.0001
Example of how you can use it:
;YUI().use("datatype-number", function(Y) {
var num=1.0000;//no decimal places
var decPlaces=((num%1)>0.0000005)?6:0;
console.log(Y.Number.format(num, {
thousandsSeparator: ".",
decimalPlaces: decPlaces
}));
num=1.0010;//some decimal places
decPlaces=((num%1)>0.0000005)?6:0;//6 if dec places 0 if not
console.log(Y.Number.format(num, {
thousandsSeparator: ".",
decimalPlaces: decPlaces
}));
num=1.0000001;//not enough decimal places
decPlaces=((num%1)>0.0000005)?6:0;//6 if dec places 0 if not
console.log(Y.Number.format(num, {
thousandsSeparator: ".",
decimalPlaces: decPlaces
}));
});