在浮点数后最多显示2位数...仅当它是一个浮点数超过2个浮点数时

max*_*max 13 php math floating-point

在我的应用程序中我做了一些数学,结果可以是浮点数或整数

我想在小数点最大值后用两位数显示最终结果...如果结果是一个浮点数

有两种选择可以做到这一点

number_format($final ,2);
Run Code Online (Sandbox Code Playgroud)

sprintf ("%.2f", $final );
Run Code Online (Sandbox Code Playgroud)

但问题是......如果我的最终结果是一个INT像25我结束了

25.00 
Run Code Online (Sandbox Code Playgroud)

或者如果最终结果是12.3它给我的东西

12.30
Run Code Online (Sandbox Code Playgroud)

而且我不想那样

是否有任何方法可以格式化一个数字,以便在浮点数后显示2位数,如果它是小数点后超过2位的浮点数?或者我应该在格式化我的号码之前做一些检查?

use*_*035 27

<?php
$number = 25;
print round($number, 2);

print "\n";

$number = 25.3;
print round($number, 2);

print "\n";

$number = 25.33;
print round($number, 2);
Run Code Online (Sandbox Code Playgroud)

打印:

25
25.3
25.33
Run Code Online (Sandbox Code Playgroud)

  • "12.30"和"12.3"之间没有区别,只有"12.30"和"12.3"之间没有区别,但你使用`float`作为输入,而不是`string`,所以没办法区分这两者. (2认同)