如果是.0则隐藏小数,如果是整数则显示零

时间:2013-08-09 23:35:31

标签: php mysql

我有两个,希望是基本的数字问题。

首先,我在MySQL上使用十进制数据类型将速度或高度等数据设置为一个小数位,如decimal(4,1)我的问题是,对于没有dp的数字,它仍然显示.0 - 什么我得到的是'309.0',但我想要的是'309'。我需要更改什么来隐藏'.0'?

其次我有一个显示固定数字的整数数据类型。许多数字都是0零,但这些数字被视为空并且不显示。如何强制显示0? (我无法对此进行表更改,因为其他列的零值是空值。只有这一列需要显示零。)

对于这两个问题,PHP都用于显示结果。

编辑:我用来显示结果的代码。最上面的一个不需要显示.0底部需要显示零。

Length:</b> %sft' . PHP_EOL, $row2['length'])

Inversions:</b> %s' . PHP_EOL, $row2['inversions'])

2 个答案:

答案 0 :(得分:4)

我相信一个偷偷摸摸的伎俩是,如果你在数字的末尾添加0,它会删除.0000等。

示例:

$number = 150.00
$number = $number + 0; //should echo 150
$other_number = 150.500;
$other_number += 0; //should echo 150.5

至于另一个,你可以简单地连接零,因为似乎不需要计算

答案 1 :(得分:0)

要检查尾随零,可以使用以下命令确保float和integer值相同:

$num = (floatval($num)==intval($num)) ? intval($num) : floatval($num);

然后对于null值,您可以使用coalesce(yourColumn, 0) as yourColumn获取列值(如果不为null)或返回0作为值..