ホームページ >バックエンド開発 >PHPチュートリアル >フィールドのタイプは 10,1 で、計算は 100.0+1.5=101.0 になります。なぜでしょうか。
$sql = "update ".$fdyu->table('users')." set yujia=yujia+".$yujia." where user_id=".$user_id;
$db->query($sql) ;
元の yujia フィールドの値が 100.0 で、$yujia=1.5 を送信すると、結果は yujia フィールドの値が 101.0 になります。 0.5少ないのはなぜですか?
create temporary table t (n decimal(10,1));insert into t values (100.0);update t set n=n+1.5;select * from tn
理由がわかりました。変数が整数であることがわかりました
$yujia = isset($_REQUEST['yujia']) ? (trim($_REQUEST['yujia'])) : 0;
intval?プラスチック??小さいものを削除します。 。
代わりに floatval を使用してください