SELECT tb_zy.ZYjb+tb_zy.ZYjc
FROM tb_zy
where tb_zy.sno=1;
由于tb_zy.ZYjb和tb_zy.ZYjc是float类型,计算时会出现异常
比如 tb_zy.ZYjb是6.0
     tb_zy.ZYjc是1.2
结果却是7.2000000476837
请问各位在mysql中有没有一个函数可以设置查找结果精度的~

解决方案 »

  1.   

    TRUNCATE(X,D) 好像是楼主想要的。
    能用的还有FORMATE函数,楼主可以也试下。
      

  2.   

    说明一下,第一个参数是要处理的浮点数,后面一个参数是你想要小数点后几位。对后面一个参数来说,如果为0,表示只要整数,大于零表示想要小数点右几位,小于零,表示想要小数点左几位(这样左几位都成0)
    几个例子如下:mysql> SELECT TRUNCATE(1.223,1);
            -> 1.2
    mysql> SELECT TRUNCATE(1.999,1);
            -> 1.9
    mysql> SELECT TRUNCATE(1.999,0);
            -> 1
    mysql> SELECT TRUNCATE(-1.999,1);
            -> -1.9
    mysql> SELECT TRUNCATE(122,-2);
           -> 100
    mysql> SELECT TRUNCATE(10.28*100,0);
           -> 1028