Maison > développement back-end > Problème PHP > Pourquoi php n'arrondit-il pas à une décimale ?

Pourquoi php n'arrondit-il pas à une décimale ?

青灯夜游
Libérer: 2023-03-16 09:04:01
original
5620 Les gens l'ont consulté

Méthode : 1. Utilisez l'opérateur "*" pour développer la décimale 10 fois. La syntaxe "$a=decimal*10;" recule la virgule décimale d'une place ; . Arrondissez et supprimez la partie décimale, la syntaxe est "$b=floor($a);" 3. Divisez le nombre arrondi par 10, la syntaxe est "$c=$b/10;".

Pourquoi php n'arrondit-il pas à une décimale ?

L'environnement d'exploitation de ce tutoriel : système Windows 7, PHP version 7.1, ordinateur DELL G3

Comment conserver une décimale (sans arrondi) en php

Par exemple, 3.1625Prenez 1 décimale et le dernier chiffre ne peut pas être arrondi. Résultat : 3.1. 3.1625取小数点后1位,最后1位不能四舍五入。结果:3.1

在php中,可以使用floor 函数实现不四舍五入的保留一位小数。

floor 函数的作用使用舍去取整。

例如,floor(4.66456) 结果:4floor(9.1254) 结果9

En php, vous pouvez utiliser la fonction floor pour obtenir une décimale sans arrondi.

La fonction étage utilise l'arrondi.

Par exemple, floor(4.66456) donne : 4 ; floor(9.1254) donne 9.

Pourquoi php narrondit-il pas à une décimale ?Donc, pour passer à 1 décimale, il faut d'abord multiplier par 10, puis arrondir, puis diviser par 10, soit :

$a=小数*10;
$b=floor($a);
$c=$b/10;
Copier après la connexion

se simplifie directement en :

floor(小数*10)/10
Copier après la connexion
Exemple :

<?php
header(&#39;content-type:text/html;charset=utf-8&#39;);   
echo (floor(3.1625*10)/10)."<br>";
echo (floor(0.5985*10)/10)."<br>";
echo (floor(1.1425*10)/10)."<br>";
?>
Copier après la connexion

Développez vos connaissances : Méthode de conservation du nombre de décimales (arrondi)

1. fonction round

round(小数,保留位数)
Copier après la connexion

2. fonction sprintf

sprintf("%01.位数值f", 小数)
Copier après la connexion
pour réaliser l'arrondi, et s'il n'a pas de décimales, il le fera automatiquement. utilisez les caractères spécifiés (spécifié 0) Remplissez jusqu'au nombre de décimales spécifié
echo sprintf("%01.2f", 5.228);  //  5.23
echo sprintf("%01.2f", 5.224);  //  5.22
echo sprintf("%01.2f", 5);      //  5.00
Copier après la connexion

3. La fonction number_format🎜
number_format(小数,保留位数)
Copier après la connexion
🎜S'il n'y a pas de décimale, elle le remplira automatiquement avec 0 au nombre de décimales spécifié. 🎜
echo number_format(5.228,2);    //  5.23
echo number_format(5.224,2);    //  5.22
echo number_format(5,2);        //  5.00
Copier après la connexion
🎜Apprentissage recommandé : "🎜Tutoriel vidéo PHP 🎜》🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
php
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal