Heim  >  Artikel  >  Backend-Entwicklung  >  Zusammenfassung der PHP-Methoden zum Runden und Abfangen von Gleitkomma-Strings

Zusammenfassung der PHP-Methoden zum Runden und Abfangen von Gleitkomma-Strings

高洛峰
高洛峰Original
2017-03-16 10:28:071752Durchsuche

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

3 Möglichkeiten, Rundungen in PHP zu implementieren

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn