ホームページ  >  記事  >  バックエンド開発  >  PHPで人民元をポイントに変換する方法[落とし穴を避ける]

PHPで人民元をポイントに変換する方法[落とし穴を避ける]

PHPz
PHPz転載
2016-06-23 13:33:057200ブラウズ

PHPで元をセントに変換するにはどうすればよいですか?次の記事では、PHP メタ参照の間違ったデモと正しいデモを共有し、落とし穴を正確に回避するのに役立ちます。

PHPで人民元をポイントに変換する方法[落とし穴を避ける]

php人民元からポイントへのデモンストレーション

説明

一度金額を相互に変換すると、間違いが非常に起こりやすくなります。ということで記録として記事を書きました。
エラーの主な理由は、内部変数が浮動小数点数であることです。
興味のある学生はぜひ挑戦してみてください。

間違ったデモンストレーション。

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

正しいデモ

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

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

概要

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

推奨学習:「PHPビデオチュートリアル

声明:
この記事はlearnku.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。