Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/240.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
Php 如何回显一个双精度变量,但仅显示小数位数,如果它们为';你需要什么?_Php_Mysql - Fatal编程技术网

Php 如何回显一个双精度变量,但仅显示小数位数,如果它们为';你需要什么?

Php 如何回显一个双精度变量,但仅显示小数位数,如果它们为';你需要什么?,php,mysql,Php,Mysql,我的数据库中有一些双字段,在php中回显这些字段时,在值的末尾会得到.00 $value = 10.00; echo str_replace('.00', '', $value); // 10 $value = 10.52; echo str_replace('.00', '', $value); // 10.52 如何使.00不显示,而是显示是否有值?您可以使用从值中删除.00 $value = 10.00; echo str_replace('.00', '', $value); //

我的数据库中有一些双字段,在php中回显这些字段时,在值的末尾会得到
.00

$value = 10.00;
echo str_replace('.00', '', $value); // 10

$value = 10.52;
echo str_replace('.00', '', $value); // 10.52
如何使
.00
不显示,而是显示是否有值?

您可以使用从值中删除.00

$value = 10.00;
echo str_replace('.00', '', $value); // 10

$value = 10.52;
echo str_replace('.00', '', $value); // 10.52
只需去掉小数点。如果您只想隐藏“零”小数(10.00->10),但保留非零小数(10.1->10.1),则需要进行一些处理:

echo preg_replace('/\.0+$/', '', $double);
它将处理小数点后任意数量的零,但保留非零

select number,if(number % 1 = 0,cast(number as unsigned),number) 
from table
或者只需使用
round()
[@]:


对于任意数量的
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
round()。
$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