MySQL中的循环浮点数但不是整数

时间:2013-12-26 03:21:16

标签: php mysql

我有这些数据:

number 
1
2
3
7.215115151215
2.5545158432
0
2

我希望它是这样的:

number
1
2
3
7.21
2.55
0
2

我曾尝试使用数字格式和第2轮,但它总是会改变这样的事情:

number 
1.00 
2.00
3.00
7.21
2.55
0
2

3 个答案:

答案 0 :(得分:5)

如果您想以php 1.23216 1.23的方式改变您的数字格式number_format(),则应使用is_float()函数并使用{{1}检查数字是否为浮点类型

示例:

$num=1.2355645;
$numcheck1=(is_float(+$num))?number_format($num, 2):$num; 
echo $numcheck1; //will display 1.23

另一方面:

$num=8;
$numcheck2=(is_float(+$num))?number_format($num, 2):$num; 
echo $numcheck2; //will display 8

答案 1 :(得分:1)

尝试以下方法:

echo (float)number_format($num, 2);

答案 2 :(得分:1)

如果出于某种原因,您希望从MySQL以这种方式获取结果集,则可以执行

SELECT TRIM(TRAILING '.00' FROM ROUND(number, 2)) number
  FROM table_name

结果:

mysql> SELECT TRIM(TRAILING '.00' FROM ROUND(number, 2)) number FROM table1;
+--------+
| number |
+--------+
| 1      |
| 2      |
| 3      |
| 7.22   |
| 2.55   |
| 0      |
| 2      |
+--------+
7 rows in set (0.00 sec)

虽然这是一个介绍问题,你最好在php中这样做。