多文化编程的一个有趣部分是数字格式.
我的第一种方法是取字符串,向后解析它,直到我遇到一个分隔符并将其用作我的小数分隔符.有一个明显的缺陷:10.000将被解释为10.
另一种方法:如果字符串包含2个不同的非数字字符,请使用最后一个作为小数点分隔符并丢弃其他字符.如果我只有一个,检查它是否多次出现并丢弃它,如果有的话.如果只出现一次,请检查它后面是否有3位数字.如果是,则丢弃它,否则,将其用作小数分隔符.
显而易见的"最佳解决方案"是检测用户的文化或浏览器,但如果你有一个使用en-US Windows /浏览器的法国人,这不起作用.
.net Framework是否包含一些神秘的黑魔法浮点解析器,比Double.(Try)Parse()尝试自动检测数字格式更好?
我读过Joel关于Unicode的文章,我觉得从字符集的角度来看,我至少掌握了国际化的基本知识.除了阅读这个问题之外,我还做了一些关于设计考虑的国际化研究,但是我不禁怀疑还有更多我不知道或者不知道的东西.不知道要问.
我学到的一些东西:
我在哪里:
我想更多地了解:
编辑:我添加了赏金,因为我想从经验中获得更多真实世界的例子.