我想要一個PHP數字格式化至少2位小數位和最多8位小數位。你怎麼能正確地做到這一點。高級PHP數字格式化
更新:對不起,我的問題是說我有號碼「4」。我希望它顯示爲「4.00」,如果我有「2.000000001」,那麼它顯示爲「2.00」或者如果我有「3.2102」它將顯示爲這樣。 iPhone上有一個NSNumber格式化程序,PHP中有相同的格式化程序。
我想要一個PHP數字格式化至少2位小數位和最多8位小數位。你怎麼能正確地做到這一點。高級PHP數字格式化
更新:對不起,我的問題是說我有號碼「4」。我希望它顯示爲「4.00」,如果我有「2.000000001」,那麼它顯示爲「2.00」或者如果我有「3.2102」它將顯示爲這樣。 iPhone上有一個NSNumber格式化程序,PHP中有相同的格式化程序。
這格式化$ N號8位小數,然後刪除尾隨零,最多6次。
$s = number_format($n, 8);
for($i=0; $i<8-2; $i++) {
if (substr($s, -1) == '0')
$s = substr($s, 0, -1);
}
print "Number = $s";
哇!這是聰明的讓我試試吧 – macintosh264
像一個魅力工作非常感謝 – macintosh264
這是否工作,如果數量是40.0012?也解釋你的答案多一點,而不是隻發佈代碼 – JPM
使用sprintf()
到數字格式到一定的小數位數:
$decimal_places = 4;
$format = "%.${decimal_places}f";
$formatted = sprintf($format,$number);
對不起,我的問題是說我有數字「4」,我希望它顯示爲「4.00」,如果我有「2.000000001」,那麼它顯示爲「2.00」或者如果我有「3.2102」它會在iPhone上有一個NSNumber格式化程序,在PHP中有什麼相同的內容 – macintosh264
檢查數字格式功能:
<?php
$num = 43.43343;
$formatted = number_format(round((float) $num, 2), 2);
?>
這不是一個真正的答案 –
你可以將()數字(http://www.php.net/manual/en/function .round.php),然後用number_format()函數添加格式 –
你應該提供一個代碼示例 –
我不明白你爲什麼要顯示數字以達到不一致的準確度。我不明白你在評論中想要描述什麼樣的模式。
但是,讓我們假設您需要以下行爲:您希望將數字表示爲8位小數,如果結果中有多於2個尾隨零,則需要刪除多餘的零。這不難編碼,而不是以英文表達。在僞代碼:
$mystring = string representation of number rounded to 8 decimal places;
while (last character of $mystring is a 0) {
chop off last character of $mystring;
}
我正在格式化一個比特幣金額,女巫計算出小數點後8位,並始終顯示至少2位小數位。 – macintosh264
使用的preg_match先手與結束零,然後RTIM它
<?php
$nn = number_format(10.10100011411100000,13);
preg_match('/[0]+$/',$nn,$number);
if(count($number)>0){
echo rtrim($nn,$number[0]);
}
希望它會幫助你。
您如何建議決定給定數字使用的小數位數? – Hammerite
「2.120000001」顯示多少個? – CanSpice
對不起,我的問題是說我有號碼「4」。我希望它顯示爲「4.00」,如果我有「2.000000001」,那麼它顯示爲「2.00」或者如果我有「3.2102」它將顯示爲這樣。 iPhone上有一個NSNumber格式化程序,PHP中有相同的格式化程序。 – macintosh264