Heim > Backend-Entwicklung > PHP-Tutorial > Über das Problem, dass Sprintf Dezimalzahlen abfängt

Über das Problem, dass Sprintf Dezimalzahlen abfängt

WBOY
Freigeben: 2016-10-23 00:00:03
Original
1448 Leute haben es durchsucht

Problem: Behalten Sie 1 Dezimalstelle bei, runden Sie nicht, geben Sie 0 ein, wenn es eine ganze Zahl ist

Viele Leute sagten, sprintf('%.1f',$str); zu verwenden, aber es gibt immer noch Probleme mit den Ergebnissen
Schließlich wurde diese Methode verwendet, um das Problem zu lösen: echo sprintf('%.1f', floor($str));

<code><?php
    $str1 = 12.34;
    $str2 = 12.35;
    $str3 = 12.36;
    echo sprintf('%.1f',$str1);//12.3
    echo sprintf('%.1f',$str2);//12.3
    echo sprintf('%.1f',$str3);//12.4
    
    echo sprintf('%.1f', floor($str3));//12.3
?>
</code>
Nach dem Login kopieren

Haben Sie nicht gesagt, dass Sie nicht runden möchten? Warum wird beim Runden nicht 5 gerundet, sondern nur 6; andere Funktionen
werden auf 5 gerundet. Warum ist das so? number_format($str)

Verwandte Etiketten:
php
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage