In PHP fängt den Gleitkommatyp ab. Es gibt ungefähr die folgenden Methoden:
1. float Round (float $val [, int $precision]) gibt val entsprechend zurück angegebene Präzision Präzision (die Anzahl der Dezimalstellen nach dem Komma), gerundet. Die Genauigkeit kann auch negativ oder null sein (Standard).
echoround(4.3) //4
2. string sprintf ( string $format [, Mixed $args [, Mixed $... ]] ) gibt die Zeichenfolge formatierter Daten zurück
$a=12.338938438; echo sprintf("%.5f",$a) //结果:12.33894 $a=12.3312356; echo sprintf("%.5f",$a);//12.33124 echo sprintf("%f",$a);//331236 默认小数点后6位
3. string number_format (float $number, int $decimals, string $dec_point, string $thousands_sep)
$number = 1234.5678; $english_format_number = number_format($number, 2, '.', ''); echo $english_format_number ; // 1234.57
Die oben genannten Werte werden automatisch gerundet, manchmal ist dies nicht erforderlich Um es zusammenzufassen. Was soll ich tun? Mir ist keine gute Lösung eingefallen. Kannst du es mir sagen?
Ich habe eine problematische Funktion geschrieben und aufgezeichnet
function getFloatValue($f,$len) { $tmpInt=intval($f); $tmpDecimal=$f-$tmpInt; $str="$tmpDecimal"; $subStr=strstr($str,'.'); if(strlen($subStr)<$len+1) { $repeatCount=$len+1-strlen($subStr); $str=$str."".str_repeat("0",$repeatCount); } return $tmpInt."".substr($str,1,1+$len); } echo getFloatValue(12.99,4) //12.9900 echo getFloatValue(12.9232555553239,4) //12.9232
Weitere PHP-Float-Abfangmethoden für Gleitkomma-String-Methoden ohne Rundung und verwandte Artikel finden Sie auf der chinesischen PHP-Website!
Verwandte Artikel:
Rundung und Rundung der PHP-Datenverarbeitung
Detaillierte Einführung in die Rundungs- und Rundungsfunktion in PHP