2013-09-27 64 views
0

改變數字格式我有這樣的值:使用的sprintf

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的值?

+0

標籤用正確的語言標記你的問題。這是PHP嗎? – Blender

+0

是的,這是PHP。該標籤已添加。謝謝Blender – Vasvas

回答

0

你可以在rtrim的arugument中的0之前加一個點。

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

非常感謝!其作品! – Vasvas

0

brixenDK的答案几乎不錯。它有一個錯誤,因爲rtrim單獨使用模式中的所有字符。 1000將是1

brixenDK的修正方案:

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