0

私たちは、API の個人データにアクセスするために、顧客トークン ID を送信する支払い API を使用しています。

顧客トークン ID の例は 9253691936959900 ですが、PHP はこれを 9.2536919369599E+15 に変換しています (たとえば)。明らかに、9.2536919369599E+15 は科学表記法であり、API を呼び出すために使用する私たちにとっては役に立ちません。

number_format(9.2536919369599E+15,16) などのさまざまな変換を試みましたが、うまくいきませんでした。

私たちは 32 ビット サーバーと PHP 5.4.15 を使用しています。

API の開発者でさえ、問題を見つけるのに苦労しています。顧客トークン ID が文字列として送信されていることは確かですが、何らかの理由でシステムが整数として解釈し、科学表記法に変換しています。

ヘルプやアドバイスをいただければ幸いです。

どうもありがとう :)

4

2 に答える 2

2

PHP は最大整数2^63-1=に制限されています9223372036854775807(これは 64 ビット プラットフォーム用です。他のプラットフォームではこれよりもはるかに小さい場合があります)。

max より大きい数値は浮動小数点数に変換されます。

いくつかのオプションがあります:

  1. ID には文字列を使用します。
  2. 未満の数値を使用する2^63
  3. PHP GMP ライブラリを使用します。
于 2013-06-05T08:48:35.687 に答える