小数点付きの数値(IE ".57")を返すアルゴリズムがあります。私がやりたいのは、小数点なしの「57」を取得することです。
私はeregi_replaceとstr_replaceを使用しましたが、どちらも機能しませんでした。
$one = ".57";
$two = eregi_replace(".", "", $one);
print $two;
$one = '.57';
$two = str_replace('.', '', $one);
echo $two;
それはうまくいきます。100%テスト済み。ところで、すべてのereg(i)_*関数は減価償却されます。正規表現が必要な場合は、代わりにpreg_*を使用してください。
Method Result Command
x100 57 ((float)$one * 100))
pow/strlen 57 ((float)$one * pow(10,(strlen($one)-1))))
substr 57 substr($one,1))
trim 57 ltrim($one,'.'))
str_replace 57 str_replace('.','',$one))
同じ結果を得る他のいくつかの方法をかわすだけ
$number = ltrim($number, '.');
これにより、末尾のドットがすべて削除されます。
運がなくてもstr_replaceを使用しようとしたとのことですが、次のコードは完全に機能します。
<?php
$one = '.57';
$two = str_replace('.', '', $one);
echo $two;
?>
私はeregi_replaceとstr_replaceを使用しましたが、どちらも機能しませんでした。
ええと...ereg_replace()
通常の式を使用しているため機能しません。 .
(ドット)文字には特別な意味があります:すべて(つまり、すべての文字を ""(空の文字列)に置き換えました)。
ただしstr_replace()
、この場合は完全に正常に機能します。
これがライブテストです:http://ideone.com/xKG7s
これは整数として返されます。
$two = (integer) trim('.', $one);