Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/57.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十进制(6,5)字段_Php_Mysql - Fatal编程技术网

Php 将浮点格式插入MySQL十进制(6,5)字段

Php 将浮点格式插入MySQL十进制(6,5)字段,php,mysql,Php,Mysql,我需要在PHP中格式化一个浮点数,这样它就可以插入到decimal(6,5)类型的表中的列中 所以 20将使格式化程序变为20.00000 20.5将被格式化为20.50000 如何在PHP中实现这一点?要格式化数字,只需使用 <?php echo number_format(20, 5); //returns 20.00000 echo number_format(20.5, 5); //returns 20.50000 ?> 但插入MySQL数据库时不需要这样做。为了避免浮

我需要在PHP中格式化一个浮点数,这样它就可以插入到decimal(6,5)类型的表中的列中

所以

20将使格式化程序变为20.00000

20.5将被格式化为20.50000


如何在PHP中实现这一点?

要格式化数字,只需使用

<?php
echo number_format(20, 5); //returns 20.00000
echo number_format(20.5, 5); //returns 20.50000
?>


但插入MySQL数据库时不需要这样做。

为了避免浮点固有的精度错误,
先将其转换为十进制(9,2),然后再转换为十进制(6,5)。

您根本不需要对其进行格式化…仅供参考,您不能将
20
存储在
decimal(6,5)
类型的列中--
SQL错误(1264):超出范围值
可能需要的是
decimal(11,5)
小心使用
number\u格式,正如这里给出的,它可能会插入一个千分之一的分隔符!查看第二个参数,它是十进制的:
stringnumber\u格式(float$number[,int$decimals=0])
我错了吗?@bart是的,非常小心-我只是在这个错误中运行,当数据库中出现不同的数字时。。。