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

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

藏色散人
藏色散人nach vorne
2023-02-03 15:15:493582Durchsuche

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);
}

Korrekte Demonstration

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

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

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));
}

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!

Stellungnahme:
Dieser Artikel ist reproduziert unter:learnku.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen