ホームページ > バックエンド開発 > PHPチュートリアル > フィールドのタイプは 10,1 で、計算は 100.0+1.5=101.0 になります。なぜでしょうか。

フィールドのタイプは 10,1 で、計算は 100.0+1.5=101.0 になります。なぜでしょうか。

WBOY
リリース: 2016-06-23 13:48:06
オリジナル
961 人が閲覧しました

$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 t
ログイン後にコピー
n
101.5

理由がわかりました。変数が整数であることがわかりました
$yujia = isset($_REQUEST['yujia']) ? (trim($_REQUEST['yujia'])) : 0;

intval?プラスチック??小さいものを削除します。 。
代わりに floatval を使用してください

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート