根据docs
String text = String.format("%5.1e", 3.1415f);
应该产生类似
的东西3.1E+00
在我的模拟器上,它符合预期
3.1E+00
在我的开发电话上显示为
3.1*10^+00
这使得它无法用于所有实际目的。
Android文档并没有告诉我很多关于本地化的信息,但Oracle doc仅提到了第一部分“3.1”的本地化格式。
是否有一种简单的方法可以获得一致的格式化?
这是记录在案的行为吗?一个错误?
HTC Nexus One给出了奇怪的行为,三星Galaxy Nexus给出了正确的行为。
答案 0 :(得分:1)
它听起来像是N1的问题,或者是N1正在运行的Android版本。一个选项是从你知道它工作的地方获取代码,然后复制到你自己的格式代码中以获得科学数字。
查看java.util.Formatter的源代码,看看这个print()方法。这似乎是魔术发生的地方。