1105 читателей, 40 постов
Администрация
Модераторы
Описание интересных и полезных трюков и хитростей, а так же другая полезная информация, которая может пригодиться вам в повседневной жизни.
На днях некоторые владельцы карточек Visa получили завышенные счета за оплату рядовых услуг. В распечатках транзакций по карточке люди видели астрономическую сумму $23,148,855,308,184,500.00 (23,1 квадриллиона долларов) плюс штраф $15 за овердрафт по карточке. Эта сумма во много раз превышает мировой ВВП. Банки и компания Visa после непродолжительного разбирательства сообщили, что ошибка вызвана техническим глюком, но не раскрыли никаких подробностей.
комментарии (72)
P.S. Люди странные существа, во всем ищут подковырку!
зы: интересно, кого еще наберет НЛО?)
Джош Мушински рассказал журналистам, что не сразу обнаружил, во сколько ему обошлись сигареты. Лишь через некоторое время после покупки он проверил свою кредитную карту и увидел цифру 23148855308184500. «Я думал, что кто-то купил Европу с помощью моей кредитной карточки», — сказал Мушински BBC News.
Едва ли это так.
<a www.bbc.co.uk/russian/life/2009/07/090716_expensive_cigs.shtml?s="" >
>Большинство программистов C/C++ уже поняли, в чём ошибка, ведь hex 20 — это пробел.
банковские системы наверно не оперируют целыми числами, и тем более строками.
Если догадки, то я выскажу свою: в банке все же оперируют целыми числами, просто хранятся данные в минимально возможной валютной еденице (для долларов — это 1 цент, для рублей — 1 копейка).
Все таки операции с целыми числами более точны и надежны нежели любые операции с числами с плавающей точкой (даже какой бы повышенной точности она не была). имхо
Десятичные повышенной точности — с фиксированной точкой, например, 4 знака после запятой.
Тем, что точку перенесли с нулевого места на второе? :-)
Это касается особенностей работы с числами < 1 и округлений.
Соответственно используются различные варианты BCD записи.
Грубо говоря, 123.45 руб. — это 12345 коп.
Я думал, начисление процентов происходит с точностью до копеек по правилам арифметического округления (и, afair, так в договоре даже было написано). Зачем для арифметического округления нужна десятичная запись, мне не ясно. Можете пояснить чуть подробнее?
Строки показывают себя лучше если надо провести транзакцию на сто триллионов зимбабвийских тугриков.
$18.88 — у них может столько курево стоить?
А если разбить его как 23 — 1 + 488 + 55 + 3 + 0 + 8 + 1 + 84 + 5 + 0000, то получим 666!
таблица ASCII одна для всех
Ведь по сути даже если произошла какая-то ошибка на каком-то терминале, то система не могла позволить списать настолько огромную сумму (я думаю овердрафт на такие циферки не дают :)
Следовательно ошибка в самой платежной системе!
А от этого становится грустно — сам являюсь владельцем карт Visa и такие новости, честно говоря, неприятны :(
Шэлдон?