パスワードを忘れた? アカウント作成
168763 story
バグ

伊郵政金融、小数点処理のバグにより大混乱 89

ストーリー by hylom
あるある……ってわけないだろ 部門より

あるAnonymous Coward 曰く、

イタリアの郵便事業の金融口座が小数点処理のバグによって大混乱に陥っていたそうだ(本家/.記事)。

イタリアでは小数点の表記にカンマ記号がつかわれているが、アップグレードの際にこの小数点処理でバグが発生、取引金額が100倍される事態になってしまったという。予定の100倍の金額が引き落とされたりして何千もの口座が影響を受け、取引停止の処置がとられたそうだ。

バグは修正され、超過取引額を元に戻すなどの修復作業が行われ事態は徐々に収束しているという。大きな被害を受けた顧客へのサポートなども実施されているそうだ。

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • by Anonymous Coward on 2009年11月27日 12時13分 (#1679078)
    JasPerっていうJPEG 2000のライブラリがあるんだが、これのオプション群が、

    j=1.0,r=2.3

    のような表記。ライブラリでも同じ形式のパラメータを受け取ることが可能なんだが、特定の国々で画像の圧縮率が著しく悪くなる問題があって、何でだろうと調べたら、やっぱり、カンマ、ピリオドの問題だった(圧縮後ファイルサイズの率の指定が100倍になる)。atofとかを何も考えずに利用するのは著しく危険。
  • by Anonymous Coward on 2009年11月27日 12時03分 (#1679072)

    GPLで公開しているWindowsのソフトが動かないとメールが来たことがある。イタリアからだった。調べたら小数点が","なので、とりあえず、コントロールパネルで言語をEnglishにしてくれと返事をした。時間ができたら、直しておかないと。

    • by Anonymous Coward on 2009年11月27日 12時10分 (#1679075)
      コントロールパネルの設定に左右される部分って、基本的にライブラリ任せでできなかったっけ?
      下手に独自処理を入れるとどつぼにはまるよ?
      親コメント
      • by taka2 (14791) on 2009年11月27日 12時33分 (#1679096) ホームページ 日記

        ライブラリ任せに出来る(ユーザーがタッチしない)からこそ、問題になりえます。

        以前、自分とこで作った「日英両対応ソフト」が、イタリアで使えるかって質問が来たので
        「英語表示になるけどたぶん使えるよ」って答えたけど、実際には使えなかったことがありました。

        原因は、データファイルや設定ファイル(テキスト形式)のフォーマット。
        言語設定に関係なく共通のファイルで、浮動小数点数を小数点はピリオドで記述してたんですが、
        「文字列→数値」の変換を、Localeに合わせてよきに計らわれたせいで、
        イタリア語設定では、小数点ピリオド表記の文字列変換できなくなっていたという…

        対策として、setlocale で LC_NUMERIC をいじる方法もありますが、UIとしての画面掲示用では、言語設定に基づいた数値→文字変換は欲しいので断念。結局、ファイル入出力(serialize/deserialize)専用の独自関数を作って逃げました。
        ロケールに従うライブラリ関数は、言語依存なUIのために使うのは便利ですが、言語非依存な部分には使ってはいけないってことで。

        親コメント
        • by Egtra (38265) on 2009年11月27日 12時55分 (#1679125)

          そういうこともあってか、最近の言語だとsetlocaleのように大域的な設定にするのではなく、個々の関数がロケールオブジェクトを引数に取るような作りになっているので、その点改善されていると言えますね。

          #CはCでも、VCなら_locale_tとかあるのは知っているけど使ったことはない。

          親コメント
  • by unchikun (14429) on 2009年11月27日 12時17分 (#1679079)

    たとえば日本で
     10,000,000.01 (円)
    と表す数字、イタリアではどう表現してるの?
    3桁ずつのカンマをつけてないのか?

    • Re:わからん (スコア:2, 参考になる)

      by entaille (15816) on 2009年11月27日 12時24分 (#1679086) 日記

      欧州(非英)では
      10 000 000,01

      10.000.000,01
      になります。おそろしや

      あと、欧州で苦労するのは、アラビア数字なのに
      速記の手書きの数字が書き方が違って読めない

      親コメント
      • Re:わからん (スコア:2, 参考になる)

        by Anonymous Coward on 2009年11月27日 12時34分 (#1679098)
        10.000.000,01
        は2003年から廃止されたはず
        10,000,000.01
        も廃止されたはずですけどね。
        Resolution 10 of the 22nd meeting of the CGPM [bipm.org] 第22回国際度量衡総会

        declares that the symbol for the decimal marker shall be either the point on the line or the comma on the line,

        reaffirms that "Numbers may be divided in groups of three in order to facilitate reading; neither dots nor commas are ever inserted in the spaces between groups", as stated in Resolution 7 of the 9th CGPM, 1948.

        親コメント
      • Re:わからん (スコア:2, 興味深い)

        by Anonymous Coward on 2009年11月27日 12時35分 (#1679099)
        以前 ISO で 「小数点を"."にする」って提案がなんて 記事がどこかで紹介されていたときに知ったのですが,
        1. 小数点が ".(ピリオド)" (桁区切りに ",(カンマ)")
        2. 小数点が ",(カンマ)" (桁区切りに ".(ピリオド)" )

        だと前者は英・米・日とかで「世界的には少数派」であり, 人口比だか国の数の比では後者が主流なんだとか.

        英語は世界の共通語かどうか,って話と似たような匂いですね.

        親コメント
        • by nim (10479) on 2009年11月27日 20時52分 (#1679549)

          >だと前者は英・米・日とかで「世界的には少数派」であり, 人口比だか国の数の比では後者が主流なんだとか.

          国の数はともかく、人口比だったら中国とインドがついた方式が圧倒的に有利だとおもいますが。

          親コメント
      • Re:わからん (スコア:1, 参考になる)

        by Anonymous Coward on 2009年11月27日 12時39分 (#1679105)
        なお国際商取引については第22回国際度量衡総会の決議10により、
        小数点はピリオドとカンマが同等である [bipm.org]ことが再確認されています。
        親コメント
      • Re:わからん (スコア:1, 興味深い)

        by Anonymous Coward on 2009年11月27日 13時45分 (#1679171)

        1000,0000.01

        インドはこんな感じでした。(地域によるかも)

        親コメント
        • by cudjo (2713) on 2009年11月27日 14時39分 (#1679216)

          日本語(というか漢字表記)の場合、4桁区切りの方が論理的なんだけどね。
          4桁区切りにすればカンマの前(繰り上がり点)は万・億・兆・京になる。
          3桁区切りだと千・百万・十億・兆だけど、これは英語(米語)のthousand・
          million・billion・trillion に対応していて、これも論理的。
          日本語で3桁区切りする意味はよく判らない。

          親コメント
          • Re:わからん (スコア:1, すばらしい洞察)

            by Anonymous Coward on 2009年11月27日 15時08分 (#1679240)

            戦争に負けたことを忘れないためです>意味

            親コメント
          • by Egtra (38265) on 2009年11月27日 16時38分 (#1679327)

            テラ、ギガ、メガ、キロに対応するので、バイト数なんかは3桁区切りでもいいと思います。5万円を50k円などと表記するのはまだまだ違和感を抱きますが。

            親コメント
    • by mametank (34797) on 2009年11月27日 12時29分 (#1679091)
      日本とは逆で小数点にカンマ,位取りにピリオドを使うようです。ヨーロッパ圏の書類を見ていると,位取りにスペースを使っているケースもあります。

      (参考) http://ja.wikipedia.org/wiki/%E5%B0%8F%E6%95%B0%E7%82%B9 [wikipedia.org]

      日本と同じ方式をとっているのは,主なところでアメリカ,イギリス,韓国,中国なようです。
      親コメント
    • Re:わからん (スコア:1, 参考になる)

      by Anonymous Coward on 2009年11月27日 12時32分 (#1679095)
      コントロールパネルの地域のオプションで「イタリア」を選べば一目でわかるよ。
      親コメント
  • by Anonymous Coward on 2009年11月27日 11時43分 (#1679061)
    その程度の引き落としじゃ毛ほどの被害もないな!
    100倍の金額なんて入ってないし!!(自爆)

    #でも大事だと思うよ。他に公開してる口座は。
    • by Anonymous Coward

      100倍の金額なんて入ってない

      100倍の金額の引き落とし

      引き落とし出来ない

      相手先が取引停止

      マズー(AA略)

  • by Anonymous Coward on 2009年11月27日 12時12分 (#1679077)
    今日、急に1ドル84円台に突入してたのは、これが原因か・・・
typodupeerror

計算機科学者とは、壊れていないものを修理する人々のことである

読み込み中...