Home > Article > Backend Development > An article analyzing the error demonstration of PHP meta-transfer (with code examples)
This article brings you relevant knowledge about PHP, which mainly introduces the errors that occur in the mutual conversion of amounts (yuan to points) through PHP. Friends who are interested can take a look at it together. I hope it will help Everyone is helpful.
php Yuan transfer error demonstration
Explanation
Once the amount is processed It is very easy for errors to occur if they are transformed into each other. So I wrote an article to record it.
The main reason for the error is that the internal variable is a floating point number.
Interested students can try it.
Wrong 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); }
Correct demonstration
$price=20.08; echo yuan_to_fen($price); function yuan_to_fen($price) { return round(100 * $price); }
Summary
<?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('价格=' . $b . "\n");//2007 echo('价格2=' . $c . "\n");//2007 echo('价格3=' . $d . "\n");//2007 echo('价格4=' . $e . "\n");//2008 echo('方法31=' . $x . "\n");//2008 echo('方法32=' . $y . "\n");//2008 echo('方法33=' . $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)); }
Recommended learning: "PHP video tutorial 》
The above is the detailed content of An article analyzing the error demonstration of PHP meta-transfer (with code examples). For more information, please follow other related articles on the PHP Chinese website!