Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/72.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
MySQL数据库功能不工作?_Mysql - Fatal编程技术网

MySQL数据库功能不工作?

MySQL数据库功能不工作?,mysql,Mysql,我正在尝试创建一个数据库函数,如- CREATE DEFINER=`root`@`localhost` FUNCTION `lb2oz`(`lb` FLOAT) RETURNS float BEGIN DECLARE preLb FLOAT; SET preLb = FORMAT(lb,0); RETURN preLb+ROUND(((lb - preLb)/16*100), 2); END 当我调用lb2oz(25.04)时,它返回25.25,这没关系。 但当我调

我正在尝试创建一个数据库函数,如-

CREATE DEFINER=`root`@`localhost` FUNCTION `lb2oz`(`lb` FLOAT) RETURNS float
BEGIN 
    DECLARE preLb FLOAT; 
    SET preLb = FORMAT(lb,0);
    RETURN preLb+ROUND(((lb - preLb)/16*100), 2);
END
当我调用lb2oz(25.04)时,它返回25.25,这没关系。 但当我调用lb2oz(25.01)时,它返回25.0599465942383。有什么问题


我已经使用了
DECLARE preLb FLOAT(10,2)
声明preLb-DOUBLE但仍然存在相同的问题。

尝试使用DOUBLE而不是FLOAT

CREATE DEFINER=`root`@`localhost` FUNCTION `lb2oz`(`lb` DOUBLE) RETURNS double
BEGIN 
    DECLARE preLb DOUBLE; 
    SET preLb = FORMAT(lb,0);
    RETURN preLb+ROUND(((lb - preLb)/16*100), 2);
END

如果我用两套浮子,就可以了?@用户7294900会更准确我已经尝试了双安装,也尝试了浮动(10,2)。但仍然不起作用,最后用DOUBLE(10,2)和返回式DOUBLE解决了这个问题。谢谢@user7294900谢谢你的回答,已经解决了