在 PHP 中将字符串转换为浮点数


converting string to float in php

我正在尝试将数据从字符串转换为浮点数并将其插入 MYSQL 数据库。 $data变量是一个字符串。这是我的SQL查询:

$sql = "CREATE TABLE IF NOT EXISTS $table (
               id INT(6) UNSIGNED AUTO_INCREMENT PRIMARY KEY,
               stockcode VARCHAR(8) NOT NULL,
               lastprice FLOAT NOT NULL,
               open FLOAT NOT NULL,
               close FLOAT NOT NULL,
               low FLOAT NOT NULL,
               high FLOAT NOT NULL
           )";

$rows = $table->getElementsByTagName("tr");
$i = 0;
foreach ($rows as $row) {
    if ($i++ < 1) {
        continue;
    }
    $a = array();
    $cells = $row->getElementsByTagName('td');
    $i = 0;
    foreach ($cells as $cell) {
        if ($i++ < 1) {
            continue;
        }
        array_push($a, floatval($cell->nodeValue));
    }
    print_r($a);
    var_dump($a);
    echo "<hr/>";
    $sql = "INSERT INTO $table (stockcode, lastprice, open, close, low, high)
        VALUES ( '" . $data[0] . "', '" . $data[1] . "', '" . $data[4] . "',   '" . $data[7] . "', '" . $data[5] . "', '" . $data[6] . "')";

但它仍然给我错误:PHP 可捕获的致命错误:类 DOMElement 的对象无法转换为第 79 行/var/www/html/mysqlcon.php 中的字符串

您需要

将浮点数放在两个引号之间

$sql = "INSERT INTO $table(stockcode, lastprice, open, close, low, high)
   VALUES ( '".$data[0]."', '".floatval($data[1])."', '".floatval($data[4])."', '".floatval($data[7])."', '".floatval($data[5])."', '".floatval($data[6])."')";

即使是一个数字也应该在两个引号之间