Ein Artikel, der die Fehlerdemonstration der PHP-Metaübertragung analysiert (mit Codebeispielen)

藏色散人
Freigeben: 2023-04-11 10:24:02
nach vorne
3552 Leute haben es durchsucht

Dieser Artikel vermittelt Ihnen relevantes Wissen über PHP. Er stellt hauptsächlich die Fehler vor, die bei der gegenseitigen Umrechnung von Beträgen (Yuan in Punkte) auftreten. Ich hoffe, dass er gemeinsam mit Freunden einen Blick darauf wirft alle helfen.

Ein Artikel, der die Fehlerdemonstration der PHP-Metaübertragung analysiert (mit Codebeispielen)

php Yuan-Überweisungsfehlerdemonstration

Erklärung

Sobald die Beträge ineinander umgerechnet werden, ist es sehr leicht, Fehler zu machen. Also habe ich einen Artikel geschrieben, um es aufzuzeichnen.

Der Hauptgrund für den Fehler ist, dass die interne Variable eine Gleitkommazahl ist.

Interessierte Studierende können es ausprobieren.

Falsche Demonstration.

$price=20.08;
echo yuan_to_fen($price);

function yuan_to_fen($price)
{
  return intval(100 * $price);
}

function yuan_to_fen2($price)
{
  return floor(100 * $price);
}
function yuan_to_fen3($price)
{
  return (int)(100 * $price);
}
Nach dem Login kopieren

Korrekte Demonstration

$price=20.08;
echo yuan_to_fen($price);

function yuan_to_fen($price)
{
  return round(100 * $price);
}
Nach dem Login kopieren

Zusammenfassung

<?php
$a = 20.08;
$b = yuan_to_fen1($a);
$c = yuan_to_fen2($a);
$d = yuan_to_fen3($a);
$e = yuan_to_fen4($a);

$x = yuan_to_fen31($a);
$y = yuan_to_fen32($a);
$z = yuan_to_fen33($a);

echo(&#39;价格=&#39; . $b . "\n");//2007
echo(&#39;价格2=&#39; . $c . "\n");//2007
echo(&#39;价格3=&#39; . $d . "\n");//2007
echo(&#39;价格4=&#39; . $e . "\n");//2008

echo(&#39;方法31=&#39; . $x . "\n");//2008
echo(&#39;方法32=&#39; . $y . "\n");//2008
echo(&#39;方法33=&#39; . $z . "\n");//2008

function yuan_to_fen1($price)
{
  return intval(100 * $price);
}

function yuan_to_fen2($price)
{
  return floor(100 * $price);
}

function yuan_to_fen3($price)
{
  return (int)(100 * $price);
}

function yuan_to_fen4($price)
{
  return 100 * $price;
}

function yuan_to_fen31($price)
{
  return intval(strval(100 * $price));
}

function yuan_to_fen32($price)
{
  //返回浮点数。
  return round(100 * $price);
}

function yuan_to_fen33($price)
{
  //返回整型,比较推荐这种。
  return intval(round(100 * $price));
}
Nach dem Login kopieren

Empfohlenes Lernen: „PHP-Video-Tutorial

Das obige ist der detaillierte Inhalt vonEin Artikel, der die Fehlerdemonstration der PHP-Metaübertragung analysiert (mit Codebeispielen). Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
php
Quelle:learnku.com
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
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!