JavaScript おれおれ Advent Calendar 2011 – 6日目
ビット演算のOR|で一発です。
var source = -12.3; // 実数 var result = source | 0; // => -12
var source = "010"; // 文字列 var result = source | 0; // => 10
これだけで実数→整数も文字列→整数も行けますし、文字列が"12a"でも"xxx"でもNaNにもなりません。
ビット演算はOR|の他にAND&とXOR^、単項のNOT~がありますが、JavaScriptではいずれも辺々を数値化し整数化してから、演算を実行します。
また0はビットが全てゼロですから、それとのORを取っても元の数値と同じ数値が返ってきます。こうして、結果的に整数化する事ができました。
ぱっと見は分かりづらいので、コメントを書くとか、まあ工夫してください。