Slashdot Mirror


Moving Decimal Bug Loses Money

mario.m7 writes "Poste Italiane, the Italian postal service, suffered yesterday from an abnormal computation in ATM and credit card operations, since the decimal comma was not taken into account. The whole sum was therefore multiplied by 100, resulting in a 115,00 Euro transaction being debited as 11.500 Euro! Thousands of accounts are deep in the red and locked (link pumped through translator), so that no more operations are possible. Poste Italiane is gradually recovering the problem, fixing the error and re-crediting the sum debited in excess. Consumer associations have offered support to clients in case this lasts longer and causes damage."

32 of 420 comments (clear)

  1. You mean 11,500 Euro by Chrisq · · Score: 4, Informative

    You mean 11,500 Euro as 11.500 Euro.

    1. Re:You mean 11,500 Euro by Razalhague · · Score: 4, Insightful

      No, I think he means 115 Euro as 11500 Euro (thousands separators are more trouble than they're worth).

    2. Re:You mean 11,500 Euro by Kartoffel · · Score: 5, Funny

      It's still a decimal point. Europeans just put a little tail on it to be fancy.

    3. Re:You mean 11,500 Euro by haruharaharu · · Score: 5, Insightful

      You know, I really never understood the decimal point being a comma. But then again, I'm an American.

      Yeah, why can't everyone do it like I do it?

      --
      Reboot macht Frei.
    4. Re:You mean 11,500 Euro by mea37 · · Score: 4, Informative

      You're letting the punctuation confuse you. The computer doesn't use punctuation to represent the number.

      The error was essentially that a number of Euro cents was interpreted as a number of Euro.

      So if someone entered 11500 euro cents (115.00 Euro using American punctuation, 115,00 using European punctuation - which seems fair since we're counting Euros), and the display showed them that this is what they had entered, but the computer interpreted it as 11500 euros (11,500 using American punctuation, 11.500 using European). Just as TFS says.

      "without _moving_ the seperator (or omitting it completely)" ... which is exactly what the summary says happened. Hell, did you even read the headline?

    5. Re:You mean 11,500 Euro by Lord+Ender · · Score: 4, Interesting

      Yeah, why can't everyone do it like I do it?

      That's a bit naive of you. A better question is: why can't everyone do it the same way? Having a universal standard like this would have many advantages, while having multiple differing formats has only disadvantages.

      So a reasonable person is left with the conclusion: doing it the same way everywhere is better. The question naturally follows: which would make a better standard?

      The answer to this is: the English way. Why? Because when writing in any language, multiple commas may be used indicating the continuation of the sentence, just as they may be used indicating the continuation of an integer in English number notation. Furthermore, in any language, a period is used to indicate the end of a sentence, similarly to how they are used in English number notation to indicate the end of the integer.

      The English way of writing numbers is simply superior, as it is consistent with the way punctuation is used in all languages.

      To illustrate my point. I leave you with this bizzare. confusing continental-style punctuation use,

      Silly. n'est-ce pas?

      --
      A slashdotter who didn't build his own computer is like a Jedi who didn't build his own lightsaber.
    6. Re:You mean 11,500 Euro by haruharaharu · · Score: 3, Insightful

      ink dots on fountain written text. It's far easier to be sure about a comma rather than some stupid splatter. Regardless, people will disagree with you, so we still have the same problem.

      Part of the reason is there isn't a compelling argument either way - yours is ok, but not really gripping. But what did you expect? It's commas.

      --
      Reboot macht Frei.
    7. Re:You mean 11,500 Euro by julien+dot · · Score: 4, Funny

      I hope you realize you still got the spelling wrong... it is "voilà" not "voilá".

      --
      Julien C.
  2. Obligatory Office Space by dkleinsc · · Score: 5, Funny

    I always do that, I mess up some mundane detail!

    --
    I am officially gone from /. Long live http://www.soylentnews.com/
  3. God Bless the USA! by jellomizer · · Score: 5, Funny

    Our Comma to separate numbers and periods to indicate decimal are far superior to your backward period to separate numbers and comma to indicate a decimal number!

    --
    If something is so important that you feel the need to post it on the internet... It probably isn't that important.
    1. Re:God Bless the USA! by benwiggy · · Score: 5, Funny

      I think you mean "God Save the Queen". We (the British) gave you the correct method for decimals before we decided to let you have the place. You've managed to pick up a few bad habits from the French, such as driving on the right.

      But apart from that, you're doing quite well.

      (For the benefit of Australians, this is humour, not flamebait.)

    2. Re:God Bless the USA! by Anonymous Coward · · Score: 4, Funny

      I think you mean "God Save the Queen". We (the British) gave you the correct method for decimals before we decided to let you have the place. You've managed to pick up a few bad habits from the French, such as driving on the right.

      But apart from that, you're doing quite well.

      (For the benefit of Australians, this is humour, not flamebait.)

      Oh be quiet, you whinging pommy bastard.

    3. Re:God Bless the USA! by Yvanhoe · · Score: 4, Interesting

      Do you know the nightmarish hell that is an Excel localized in French while being part of an international team ? Copy-paste of the same data using Excel EN or Excel FR will result in either 115.5 or 115,5 leading to interesting bugs to track...

      --
      The Wise adapts himself to the world. The Fool adapts the world to himself. Therefore, all progress depends on the Fool.
    4. Re:God Bless the USA! by AP31R0N · · Score: 5, Insightful

      Our method makes more sense. A sentence can have more commas than periods. Generally sentences have just one period (i'm distinguishing between dots and periods here). A period is a more solid division than a comma. It makes more sense to use the stronger punctuation as the mark between whole and fraction.

      i'll grant that metric is better than imperial, but i think this is one thing where we have the better idea.

      It's my opinion and it's worth every penny you paid for it.

      --
      Utilizing the synergization of benchmark e-solutions to pre-workaround action items!
    5. Re:God Bless the USA! by domulys · · Score: 4, Funny

      It is obvious to the most simple minded that Loki is of an inferior breed.

      I am black on the right side. Loki is WHITE on the right side, all of his people are white on the right side!

    6. Re:God Bless the USA! by Kartoffel · · Score: 4, Funny

      Australians seem to be doing even better than Americans, then. They still drive on the proper side of the road, although they measure distances in kilometers rather than miles as god and the queen intended.

      Well at least Australia is doing better than Canada. Those poor sods drive on the wrong side *and* use the metric system on their roads.

    7. Re:God Bless the USA! by haruharaharu · · Score: 4, Funny

      India drives on the left? I thought they just drove down the middle.

      --
      Reboot macht Frei.
    8. Re:God Bless the USA! by IrquiM · · Score: 5, Funny

      I think I read somewhere that the Australians would change from left to right in 2012. They would start with all the bigger vehicles like buses and lorries and if that turns out OK, it'll be mandatory for all motorized vehicles from 2015

      --
      This is blinging
    9. Re:God Bless the USA! by Duradin · · Score: 3, Informative

      Look at what those numbers are divisible by:
      12 can be divided evenly by 2,3,4 or 6.
      36 can be divided evenly by 2,3,4,6,9,12,18.
      5280 can be divided evenly by 2, 3, 4, 5, 6, 8, 10, 11, 12, 15, 16, 20, 22, 24, 30, 32, 33, 40, 44, 48, 55, 60, 66, 80, 88, 96, 110, 120, 132, 160, 165, 176, 220, 240, 264, 330, 352, 440, 480, 528, 660, 880, 1056, 1320, 1760, 2640. The important ones being 2,3,4,5,6,8,10.

      Plus metric measurements are generally too small (cm) or too big (m) to be practical for day to day uses.

      So if you look at it from a pencil and paper math era perspective having the nice fractions was a plus. (
      It's why we (thankfully) don't have metric time. 60 is divisible by 2,3,4,5,6,10,12,15,20, and 30. 100 is only divisible by 2,5,10,20,25, and 50. The Babylonians were onto something.)

    10. Re:God Bless the USA! by Daimanta · · Score: 4, Informative

      "Plus metric measurements are generally too small (cm) or too big (m) to be practical for day to day uses."

      Furthermore imperial measurements are generally too large (inch) or too small (yard) to be practical for day to day users. The fact that the mile exists also creates confusion because every old nations used to have it's own "mile" which either a lot bigger or a lot smaller than the English "mile".

      Also multiplication by a number that is not equal to the numberbase(10) is annoying to use.

      Out of the top of my head

      1000mm=100cm=100dm=1m=0,1Dm=0,01hm=0,001km=0,000001Mm

      Try to do that with the imperial system which randomly swaps between 6,2,12 and whatever they feel like.

      --
      Knowledge is power. Knowledge shared is power lost.
  4. 1,00st post! by Anonymous Coward · · Score: 4, Funny

    1,00st post!

    1. Re:1,00st post! by v1 · · Score: 3, Funny

      Whoosh 3,0

      --
      I work for the Department of Redundancy Department.
  5. Good to be a programmer by Anonymous Coward · · Score: 4, Insightful

    Good thing the programmers will be shielded from any consequences from this little 'bug'.

    It doesn't matter that it caused potential harm to clients, corporations in the form of losses, lost time, expenses, etc.

    The simple programmers just need to release a hot-fix or service pack.

    Now if these were engineers, and I mean real engineers not "software engineers", there would be consequences.

    Their licenses could be revoked, they could be investigated for incompetence, and held professionally and personally liable for any bugs.

    But please, keep on purchasing software with NO WARRANTY, or NO FITNESS FOR A PARTICULAR PURPOSE, and that contains KNOWN DEFECTS.

    Gotta keep the programming industry alive, and don't wanna stress theses "engineers" too much.

  6. Re:For the most part. by imgod2u · · Score: 3, Funny

    It's like the little penny tray. The pennies are for everyone. And we're just taking fractions of a penny here.

  7. Re:For the most part. by sopssa · · Score: 4, Insightful

    int64 Unsigned: 0 to +18,446,744,073,709,551,615

    You mean I cannot transfer my 18 quintillion, 446 quadrillion, 744 trillion, 73 billion, 709 million, 551 thousand and 615 dollars (or in easier words 18 billion billion dollars) as a single transfer from my banking account? I need to do two of them? This is outrageous!

  8. Periods and commas. by MaWeiTao · · Score: 3, Insightful

    I never understood why the hell Europeans swap periods and commas. Grammatically it doesn't even make sense.

    A period ends a sentence or statement, which to me should imply a whole number. A comma is simply a separator, used within sentences. So why would it be used to separate decimals?

    It would be like writing a sentence this way:
    I went to the supermarket to buy some cola. cabbages. and condoms,

    Maybe there's a very good reason for it, but I don't see it.

    Regarding the story on hand, that really sucks. I wonder if they will pull the same garbage as American banks where customers only have 60 days to report a problem otherwise nothing will be done. Whereas, if the bank screws up in your favor, they could go into your account 20 years from now and withdraw whatever extra money they gave you.

    1. Re:Periods and commas. by mccalli · · Score: 5, Insightful

      I never understood why the hell Europeans swap periods and commas. Grammatically it doesn't even make sense...A period ends a sentence or statement, which to me should imply a whole number. A comma is simply a separator, used within sentences. So why would it be used to separate decimals?

      See, that argument doesn't make 'sense' either. If a comma is a separator, why not use it to separate decimals? Answer: no reason, it is completely and utterly arbitrary. You're arguing that the point of view you're used to is somehow intrinsicly 'right' - it isn't, it's just usage and custom.

      It would be like writing a sentence this way:

      Somehow, I suspect mainland Europe knows what it's like to write a sentence including thousands sperators and decimal separators...

      I'm British - I use "," to separate thousands and "." to separate decimals, but that doesn't make me 'right' - it really is just usage and custom, there isn't anything to really recommend one way over the other.

      Cheers,
      Ian

  9. Re:For the most part. by qwijibo · · Score: 4, Funny

    They got it backwards. They're supposed to take fractions of a penny from many thousands of people, not many thousands of pennies from each person.

  10. This is stupid. by BlueKitties · · Score: 3, Insightful

    There's a reason we separate the data model from the external view and internal controller mechanisms. A moving decimal shouldn't affect the internal math, it should be nothing more than a harmless display error. The fact a moving decimal actually affected the internal management is sad. Well, maybe I'm being an elitist boob, but this seems more like negligent high level design that compounded a low level bug into being much worse than it should have been.

    --
    "Sorrow is better than laughter, for by sadness of face the heart is made glad." [Ecclesiastes 7:3]
  11. Re:For the most part. by radish · · Score: 5, Insightful

    Using strings to store numbers internally is wrong, it just is. It's slow, wasteful, and unnessecary. I don't think I've ever (in 20 years of coding) needed to store something bigger than 2^64, but if I did, there are plenty of options (e.g. BigDecimal in Java, bigint in Perl, etc) which are essentially unlimited in size. Doing math with strings is just such a horrible concept :) As for precision floats (i.e. fixed point) there are real solutions for that issue in most languages too. String isn't one of them.

    Exchanging your data with other systems (e.g. generating a web page, or XML, or whatever) is of course an entirely different story, you do what makes sense for the requirements. XML Schema, for example, mandates that a parser has to accept up to an 18-digit value for the digit type, but doesn't set an upper bound. So you need knowledge of the parser to know how to transfer very large values.

    --

    ---- Den ene knappen er powerknapp, den andre er Bender voice knapp "Bite My Shiny Metal Ass"

  12. testing is the issue by maxwells+daemon · · Score: 4, Insightful

    This is not a representation issue. It is a project management and testing issue.

  13. Re:Happened to me recently by eallanjr · · Score: 5, Funny

    I made a similar mistake recently... I made a (.NET) data entry software

    Don't you mean ,Net?