<?php
$f = 3.14159;
//使用sprintf對浮點數小數點後三位四捨五入
$f_new = sprintf("%.3f",$f);
echo "3.14159小數點後三位四捨五入:".$f_new."
"; $f_round = round($f,3);
echo "3.14159小數點後三位四捨五入(round函式):".$f_round."
"; //進一法取浮點數的整數
$f_ceil = ceil($f);
echo "3.14159向上取整:".$f_ceil."
";
//捨去法取浮點數的整數
$f_floor = floor($f);
echo "3.14159向下取整:".$f_floor."
";
$f_intval = intval($f);
echo "3.14159取整數值:".$f_intval."
"; ?>
七麥資料面試上來問的第一題
當時一緊張只想起想起intval()……然而要求是小數點後四捨五入
回來查了一下, 小數點後四捨五入主要有sprintf()和round()兩個函式,sprintf除了處理四捨五入功能外還具有非常多的功能(之後填坑),round函式只能主要用於浮點數的四捨五入操作
浮點數操作
float fx 49.03f int nx fx 100 printf d nx 執行上述 結果 4902。用vc6.0,2005,gcc編譯執行結果都是一樣。為什麼會這樣呢,是因為浮點數運算具有不精確性。其實編譯上面的 編譯器會有警告的。warning c4244 initializing co...
php 浮點數運算
php r echo 0.1 0.7 0.8 true false 了解浮點運算的都不難理解以上 執行時會得到false 這是因為很多的10進製數都不能精確的轉成2進製,或如果要精確轉換的話需要的二進位制數太長,會捨棄掉末尾部分,只儲存一定的精度。比如0.1 十進位制 0.0001100 1100 ...
php比較浮點數
php手冊中有一句話,永遠不要比較兩個浮點數是否相等,但是在實際情況中,有時候還是會涉及到關於浮點數的運算和比較,當出現這種情況下,請使用bc math擴充套件函式或者gmp 函式。我們來看一種常見的情況 a 1.3 b 1.2 c 0.1 d a b if d c else printf 20f ...