Mysqlにフィールドを挿入できません。入力はHTMLフォームから文字列として渡されます。問題は型の不一致によるものだと思います。DBタイプはdoubleです
そして、私はそれをダブルまたはフロートに変換することができません。floatval()またはDoubleval()を使用します。
通常、入力は8のようなものです。8.0に変換したいです。
Mysqlにフィールドを挿入できません。入力はHTMLフォームから文字列として渡されます。問題は型の不一致によるものだと思います。DBタイプはdoubleです
そして、私はそれをダブルまたはフロートに変換することができません。floatval()またはDoubleval()を使用します。
通常、入力は8のようなものです。8.0に変換したいです。
8
小数または浮動小数に完全に安全に挿入できます。そうである必要はまったくありません8.0
。
値を挿入できない場合は、データベースのデータ型ではなく、別の問題です。
詳細を投稿していただければ、さらに詳しく調べます:)
int
編集: 、decimal
およびfloat
タイプへの入力データを次に示します。
mysql> create table numberTest(inty int(2), decy decimal(3,2), floaty float(3,2));
Query OK, 0 rows affected (0.01 sec)
mysql> select * from numberTest;
Empty set (0.00 sec)
mysql> insert into numberTest values(7,7,7);
Query OK, 1 row affected (0.00 sec)
mysql> insert into numberTest values(7.2,7.2,7.2);
Query OK, 1 row affected (0.00 sec)
mysql> select * from numberTest;
+------+------+--------+
| inty | decy | floaty |
+------+------+--------+
| 7 | 7.00 | 7.00 |
| 7 | 7.20 | 7.20 |
+------+------+--------+
2 rows in set (0.01 sec)
値を挿入できない場合は、PHP で挿入コマンドを表示してください。データ型ではありません。あなたはこの質問で間違った木を吠えています。
$number = 8;
echo number_format($number, 1, '.', ' '); //8.0
echo number_format($number, 2, '.', ' '); //8.00