我的数据库中有一些双字段,当我在php中回显字段时,我会在值的末尾得到.00
。
如何让.00
不显示,但显示是否有值?
答案 0 :(得分:1)
您可以使用str_replace
从值中删除“.00”。
$value = 10.00;
echo str_replace('.00', '', $value); // 10
$value = 10.52;
echo str_replace('.00', '', $value); // 10.52
答案 1 :(得分:1)
echo (int)$double;
将简单地剥离小数位。如果您只想隐藏“零”小数(10.00 - > 10),但保留非零小数(10.1 - > 10.1),那么您需要进行一些处理:
echo preg_replace('/\.0+$/', '', $double);
可以在小数位后处理任意数量的零,但保留非零值。
答案 2 :(得分:1)
if (fmod($number, 1) == 0)
{
$number = intval($number);
}
else
{
$number = round($number, 2);
}
或者只使用round()
[@ ideone.com]:
var_dump(round($number = 5.00, 2)); // 5
var_dump(round($number = 5.01, 2)); // 5.01
答案 3 :(得分:1)
对于数字末尾的任意数量的0
s:
$number = rtrim($number,".0");
示例:
Input : 1.00
Result: 1
Input : 1.25
Result: 1.25
Input : 1.40
Result: 1.4
Input : 1.234910120000
Result: 1.23491012
答案 4 :(得分:0)
select number,if(number % 1 = 0,cast(number as unsigned),number)
from table