Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php MySQL十进制9.9999999_Php_Mysql - Fatal编程技术网

Php MySQL十进制9.9999999

Php MySQL十进制9.9999999,php,mysql,Php,Mysql,我使用一个脚本从google finance获取货币,然后将数据写入数据库 然而,当我这样做时,我得到的是9.9999999,而不是我发送过来的内容。我将InnoDB设置为十进制(9,8) 还有我的PHP $get = explode("<span class=bld>",$get); $get = explode("</span>",$get[1]); $converted_amount = preg_replace('/[^0-9\.]/', null, $get[0

我使用一个脚本从google finance获取货币,然后将数据写入数据库

然而,当我这样做时,我得到的是
9.9999999
,而不是我发送过来的内容。我将InnoDB设置为十进制(9,8)

还有我的PHP

$get = explode("<span class=bld>",$get);
$get = explode("</span>",$get[1]);
$converted_amount = preg_replace('/[^0-9\.]/', null, $get[0]);
$get=explode(“,$get”);
$get=explode(“,$get[1]);
$converted_amount=preg_replace('/[^0-9\.]/',null,$get[0]);

关于如何解决这个问题/我做错什么了吗?

十进制(9,8)
表示总共9位,其中8位在小数点后

那么小数点的最大值是多少?它是
9.9999999
。当您发送的号码大于存储容量时,您就会得到该号码。MySQL只在值溢出时存储尽可能高的数据。

DECIMAL(9,8)
表示总共有9位,小数点后有8位

那么小数点的最大值是多少?它是
9.9999999
。当您发送的号码大于存储容量时,您就会得到该号码。MySQL只在值溢出时存储尽可能高的值。

十进制(9,8)表示总共有9个符号,其中8个在点之后。这意味着您只能存储9.9999999之前的数字,如果您将其上面的任何内容保存,则可能会将其保存为9.9999999

建议:将您的字段更改为类似于十进制(20,8)

十进制(9,8)表示您总共有9个符号,其中8个在点之后。这意味着您只能存储9.9999999之前的数字,如果您将其上面的任何内容保存,则可能会将其保存为9.9999999


建议:将字段改为类似十进制(20,8)

这很奇怪,因为我输入的数字是61.5715
20,8
有效,但不应该
9,8
也适用于该数字?那么我的答案就是这样。您正在保存大于9的值,并且该值会减少到该字段的最大可能值。尝试将您的字段更改为十进制(10,8),它应该可以保存这样的内容:)增加第一个数字以保存具有更高值的小数。明白了。谢谢!:)这很奇怪,因为我输入的号码是61.5715
20,8
有效,但不应该
9,8
也适用于该数字?那么我的答案就是这样。您正在保存大于9的值,并且该值会减少到该字段的最大可能值。尝试将您的字段更改为十进制(10,8),它应该可以保存这样的内容:)增加第一个数字以保存具有更高值的小数。明白了。谢谢!:)
$get = explode("<span class=bld>",$get);
$get = explode("</span>",$get[1]);
$converted_amount = preg_replace('/[^0-9\.]/', null, $get[0]);