PHPでお金を扱う時、終わりのない謎の1円調査の旅にでなくて済む方法 by なっかー

PHPerKaigi 2025
採択
2025/03/22 13:00〜
Track C
レギュラートーク(20分)

PHPでお金を扱う時、終わりのない謎の1円調査の旅にでなくて済む方法

konsent_nakka なっかー konsent_nakka
6

想定聴講者

  • 会計システムや EC サイトなどでお金を扱う開発をしている人
  • PHPのstring, float, intがどのように相互変換されるのか挙動に興味がある人
  • 設計に興味がある人

話すこと

  • PHPでstring, float, intを相互変換するとどのような問題が起きるのか、どのように実行されているのか
  • センシティブな数値を扱う時、どのように扱うべきなのか

話さないこと

  • 既存の技術選定について
  • 既存システムの苦悩と戦いについて

普段開発している時はあまり意識せずに数値を型変換することがあると思いますが、そこには思いもよらぬ潜在的なバグに繋がる挙動が潜んでいます。

会計システムを作る時にPHPの数値仕様をしっかり理解した上で作らないと、後々大変なことになってしまう可能性があります。
小数点以下の誤差によって1円が消えたり増えたりしてしまうことがあり、1円の行方を巡って終わりのない、解決もしない調査の旅に身を投じることになるでしょう。
それが今なのか、いつなのかは分かりませんが、知っていれば防げる問題でもあります。

本セッションでは数値にはどんな問題があり、扱う時に何を気をつける必要があって、さらに扱いやすくするためにおすすめの方法をお話しします。