アカウント名:
パスワード:
> BCDコードを文字列と誤認してスペースをパディングするコードを書いたのではないかって意見が一番もっともらしい気がします。
違うよ。
> 恐らく保存されている数字は「23,148,855,308,184,500.00」の100倍、すなわち「2314885530818450000」という数字になる。この数字を16進数で表すと「20 20 20 20 20 20 12 50」となる。
表示された数字を16進数化しなければ'20'は出てこないんだから。
本来$12.50の請求に'20'をパディングしてしまい、BCDデータを16進数と見なして表示するバグも入っていないと> Visaカード所有者に誤って23,148,855,308,184,500ドルの請求が発生するという事態がこうならないんだが、さすがに後者は極めて考えにくい。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
普通のやつらの下を行け -- バッドノウハウ専門家
限度額が反映されないのは (スコア:0)
それならば、金額計算段階ではなく表示の直前で値が壊れたので限度額計算時は正常だったから限度額で拒否されることは無かった、と理解できます。
そうすると(10進数のパック状態を誤認する時点でそれを期待するのも酷ですが)表示のために加工した値で元の値を上書きする筈は無いので、問題点を表示部分だけに限定できそうです。
実は表示がおかしいだけでコアのシステムは正規の金額で平常運転していた可能性は無いでしょうか。
データの出力は利用者が希望する体裁ごとに表示加工するプログラムが異なりますから発症者が有る程度限定されてくる理由になりますし、引き落とし処理に直接関係しないためチェックがゆるかったのではないかと言う推測も成り立ちます。
Re:限度額が反映されないのは (スコア:1, 興味深い)
> BCDコードを文字列と誤認してスペースをパディングするコードを書いたのではないかって意見が一番もっともらしい気がします。
違うよ。
> 恐らく保存されている数字は「23,148,855,308,184,500.00」の100倍、すなわち「2314885530818450000」という数字になる。この数字を16進数で表すと「20 20 20 20 20 20 12 50」となる。
表示された数字を16進数化しなければ'20'は出てこないんだから。
本来$12.50の請求に'20'をパディングしてしまい、BCDデータを16進数と見なして表示するバグも入っていないと
> Visaカード所有者に誤って23,148,855,308,184,500ドルの請求が発生するという事態が
こうならないんだが、さすがに後者は極めて考えにくい。