Java默认编号为字符串行为

fpd*_*gon 5 java string format double

我的eclipse工作区中有两个项目,它们有类似的任务.这两个项目都有一个特殊的部分,我将其转换doubleString.

我这两个项目都是通过电话来完成的String.valueOf(var).

在较旧的项目中,我总是以"-0.00097656"的格式获得数字,这是我需要的格式.在较新的一个中,我获得了第十个指数格式,如"-9.765625E-4".我还有一个事实,即旧项目将字符串剪得足够小.

我的问题是:哪些命令可能导致java更改默认转换输出的行为.我已经搜索了代码,但我没有看到这样做的东西.或者它可能是一个日食选项?

我想让新项目与旧项目保持一致,我不希望每次都在新项目中使用这些字符串格式调用.旧项目中的任何地方都必须有设置或一些电话......

希望有人可以暗示一下.

axt*_*avt 6

它在javadoc中有清楚的解释(参见参考资料Double.toString()) - 格式取决于数字的大小:

  • 如果m大于或等于10 -3但小于10 7,那么它表示为m的整数部分,以十进制形式表示,没有前导零,后跟'.' ('\ u002E'),后跟一个或多个十进制数字,表示m的小数部分.

  • 如果m小于10 -3或大于或等于10 7,则它以所谓的"计算机化科学记数法"表示.令n为唯一的整数,使得10 n <= m <10 n + 1 ; 然后让一个是m的精确算术商和10 Ñ使得1 <= 一个 <10.然后将大小被表示为的整数部分一个,作为一个单一的十进制数字,后跟"" ("\"),再后面是表示小数部分十进制数字一个,后面跟有字母"E"("\ u0045"),随后的表示Ñ为十进制整数,作为由该方法制备Integer.toString(int).

如果您想要特定的格式,请使用String.format()或类似的东西.