一文解析PHP元转分的错误示范(附代码实例)

 2942

本篇文章给大家带来了关于php的相关知识,其中主要介绍了通过PHP进行金额(元转分)的互相转化出现的错误,感兴趣的朋友下面一起来看一下吧,希望对大家有帮助。


一文解析PHP元转分的错误示范(附代码实例)


php 元转分的错误示范

说明

一旦进行金额的互相转化,就非常容易发生错误。所以写个文章记录下来。

错误主要的原因就是内部是浮点数变量。

有兴趣的同学可以试试。

错误的示范。

  1. $price=20.08;
  2. echo yuan_to_fen($price);
  3.  
  4. function yuan_to_fen($price)
  5. {
  6.   return intval(100 * $price);
  7. }
  8.  
  9. function yuan_to_fen2($price)
  10. {
  11.   return floor(100 * $price);
  12. }
  13. function yuan_to_fen3($price)
  14. {
  15.   return (int)(100 * $price);
  16. }


正确的示范

  1. $price=20.08;
  2. echo yuan_to_fen($price);
  3.  
  4. function yuan_to_fen($price)
  5. {
  6.   return round(100 * $price);
  7. }


汇总

  1. <?php
  2. $a = 20.08;
  3. $b = yuan_to_fen1($a);
  4. $c = yuan_to_fen2($a);
  5. $d = yuan_to_fen3($a);
  6. $e = yuan_to_fen4($a);
  7.  
  8. $x = yuan_to_fen31($a);
  9. $y = yuan_to_fen32($a);
  10. $z = yuan_to_fen33($a);
  11.  
  12. echo('价格=' . $b . "\n");//2007
  13. echo('价格2=' . $c . "\n");//2007
  14. echo('价格3=' . $d . "\n");//2007
  15. echo('价格4=' . $e . "\n");//2008
  16.  
  17. echo('方法31=' . $x . "\n");//2008
  18. echo('方法32=' . $y . "\n");//2008
  19. echo('方法33=' . $z . "\n");//2008
  20.  
  21. function yuan_to_fen1($price)
  22. {
  23.   return intval(100 * $price);
  24. }
  25.  
  26. function yuan_to_fen2($price)
  27. {
  28.   return floor(100 * $price);
  29. }
  30.  
  31. function yuan_to_fen3($price)
  32. {
  33.   return (int)(100 * $price);
  34. }
  35.  
  36. function yuan_to_fen4($price)
  37. {
  38.   return 100 * $price;
  39. }
  40.  
  41. function yuan_to_fen31($price)
  42. {
  43.   return intval(strval(100 * $price));
  44. }
  45.  
  46. function yuan_to_fen32($price)
  47. {
  48.   //返回浮点数。
  49.   return round(100 * $price);
  50. }
  51.  
  52. function yuan_to_fen33($price)
  53. {
  54.   //返回整型,比较推荐这种。
  55.   return intval(round(100 * $price));
  56. }


本文网址:https://www.zztuku.com/index.php/detail-13756.html
站长图库 - 一文解析PHP元转分的错误示范(附代码实例)
申明:本文转载于《learnku》,如有侵犯,请 联系我们 删除。

评论(0)条

您还没有登录,请 登录 后发表评论!

提示:请勿发布广告垃圾评论,否则封号处理!!

    编辑推荐