2015/07/31

Recent entries from same category

  1. Zenn で Twitter bot 作成入門を書いた。
  2. プログラマーのための新しい情報共有コミュニティ Zenn で本を書いてみた。
  3. Windows ユーザは cmd.exe で生きるべき 2020年版
  4. Let's Encrypt を簡単操作できる CLI、Lego が MyDNS に対応した。
  5. golang でメモ専用コマンド「memo」作った。

Java - String.format("%d", i)で数字が出てくると思ってたら死んだ話 - Qiita
http://qiita.com/tnj/items/022b906ac5435a429369

数字がロケール文字になったり、toLowerCase() や toUpperCase() の結果がロケール文字になったりするだけじゃないんだぜ。

import java.util.Locale;

public class Foo {
    public static void main(String[] args) {
        Locale.setDefault(new Locale("pt""BR"));
        String csv = String.format("%s,%f""hello"1.23);
        System.out.println(csv);
    }
}

とあるヨーロッパ南米のロケールではこの結果がこうなる。

hello,1,230000
( ゚д゚) 

(つд⊂)ゴシゴシ 
  
(;゚д゚) 
hello,1,230000
(つд⊂)ゴシゴシ 
  _, ._ 
(;゚ Д゚) …?! 
hello,1,230000   _, ._ 
(つд⊂)ゴシゴシゴシゴシゴシゴシゴシゴシ 

(  д ) 
      
(; Д ) ! 


(; Д )カオカオカオカオ 
 U_, ._U 
  ゚  ゚ 
  _, ._ 
(つд⊂)ゴシゴシゴシゴシゴシゴシゴシゴシ 

  _, ._ 
(;゚ Д゚) 

結論 ポルトガル語怖い。

参考資料

幾らかのヨーロッパロケールで小数点が機能しない · Issue #172 · vim-jp/issues · GitHub
https://github.com/vim-jp/issues/issues/172
Posted at by