2011-04-01 53 views
1

我在我的项目中使用此代码,这是独立于其他项目。Java String.format - 方法格式(字符串,对象[])不适用于参数格式(字符串,浮点数)

float trg1 = 2.3f; 
String.format("%.2f",tgr1).replace(",", "."); 

当我插入此在其他项目,该项目是从其他项目依赖我得到错误是这样的:

方法格式(字符串,对象[])不适用的参数格式(字符串,浮)

+0

我没有意识到'。'可以变成格式字符串中的','。 – 2011-04-01 14:31:45

回答

6

你有没有尝试过使用1.5之前的编译器,同时仍然定位JRE 1.5或更高?这就是我能想到的......这应该工作得很好(当然,一旦你获得了变量名称)。

您是否能够在失败的项目中使用其他Java 5功能(例如泛型)?

+0

我忘了在其他项目上将JRE设置为更高版本。 – Gogoo 2011-04-01 14:26:45

0

它看起来像自动装箱不是在你可能期望的地方踢。如果你改变了第一线,我就几乎一定可以迫使它的工作:

Float trg1 = 2.3f; // Notice uppercase Float 
您正在使用什么版本的Java,顺便

? Java 5应该将float自动装箱到Float中,以便将它传递给可变参数方法调用。如果我建议的修补程序不能编译,那么你肯定会处理一个不理解自动装箱的1.5之前的编译器。

1

这听起来像你在不同的编译器版本。该代码可以在1.6编译器中正确编译。它不是什么,但它绝对编译和运行。