Premetto che non ho mai programmato in java, ma per me gli zeri restano al centro del problema. Da quello che so la actionscript virtual machine2 fa delle approssimazioni. Ad sempio, se provi con is:
codice:
var s:String="12.00";
var n1:Number=Number(s);
trace(n1, n1 is int, n1 is Number); // ottieni --> 12 true true
vengono considerate vere entrambe le condizioni. Per la avm2 la variabile viene letta sia come int che come Number.
Viceversa con un numero diverso:
codice:
var s:String="12.11";
var n1:Number=Number(s);
trace(n1, n1 is int, n1 is Number); // --> 12.11 false true
la variabile viene considerata un Number.
Forse potresti provare a risolvere il problema in java. Ammesso che si possa fare (ripeto io mastico solo as3, php e javascript).