JSもPHPも型の宣言がいらない動的型付けなので、意図しない結果を出すことになって、バグになりやすいという。。。
C#に慣れていると、型宣言しないことの気持ち悪さはあります。
ということで、キャストの方法をまとめ。
論理値 | var s=’1′; var b=Boolean(s); | $s=’true’; $b=(bool)$s; $b=(boolean)$s; |
文字から整数 | var s=’1′; var v=parseInt(s); v=number(s); | $s=’1′; $v=(int)$s; $v=(integer)$s; |
文字列からFloat型 | var s=’1.23456789′; var v=parseFloat(s); v=number(s); | $s=’1.123456789′; $v=(float)$s; |
文字列からDouble型 | var s=’1.123456789′; var v=parseDouble(s); | $s=’1.123456789′; $v=(double)$s; |
数値から文字列 | var v = 100; var s = String( v ); s = v.toString(); | $v=100; $s=(string)$v; $s = “$v”;//ダブルクォーテーション引用符でくくってもOK |
数値から16進数文字 | var v = 100; var s = v.toString( 16 ); s = v.toHexString( v ); | $v = 100; $s = dechex ( $v ); |
数値から8進数文字 | var v = 100; var s = v.toString( 8 ); s = v.toOctalString( v ); | $v = 100; $s = decoct ( $v ); |
数値から2進数文字 | var v = 100; var s = v.toString( 2 ); s = v.toBinaryString( v ); s = v.toString(); | $v = 100; $s = decbin ( $v ); |
16進数文字から数値 | var s = ‘ff’; var v = h.toString(s,16); | $s = ‘ff’; $v = hexdec ( $s ); |
8進数文字から数値 | var s = ’88’; var v = h.toString(s,8); | $s = ’88’; $v = octdec ( $s ); |
2進数文字から数値 | var s = ‘1101’; var v = h.toString(s,2); | $s = ‘1101’; $v = bindec ( $s ); |