0

我有如下价值观:

0.00000001
1.49000000

主要目标是在页面上显示 0.00000001 而不是 1E8。

这是我的代码:

function correct_amount($amount) {
    $corrected=rtrim(sprintf('%.8F', $amount), '0');
    return $corrected;
}

这非常有效,但仅在这种情况下:

1.92940000 -> 1.9294
1.04000000 -> 1.04

但是对于“整数”,我得到以下结果:

1.00000000 -> 1.
15.00000000  -> 15.

如何更改代码以获取不带点或带 .00 的值?

4

2 回答 2

0

您可以在 rtrim 的参数中的 0 之前放置一个点。

function correct_amount($amount){
     $corrected = rtrim(sprintf('%.8F', $amount),'.0');
     return $corrected;
}
于 2013-09-28T17:24:01.040 回答
0

brixenDK 的回答几乎是好的。它有一个错误,因为 rtrim 单独使用模式中的所有字符。1000 将是 1。

brixenDK 的更正解决方案:

function correct_amount($amount){
     $corrected = rtrim(rtrim(sprintf('%.8F', $amount),'0'),'.');
     return $corrected;
}
于 2014-08-13T07:29:47.687 回答