Java:ReplaceAll String与另一个字符串

时间:2014-11-04 18:21:55

标签: java javascript string

我对此比较陌生......

我正在尝试执行replace.all,它将替换字符串中“PRICING”的所有实例,其数值也是一个变量:PRICE

SUBSCRIPTION = SUBSCRIPTION.replaceAll("PRICING",PRICE);

以下是我得到的错误。

Error in method invocation: Method replaceAll( java.lang.String, double ) not found in class'java.lang.String'

感谢您的帮助

7 个答案:

答案 0 :(得分:2)

试试这个:

SUBSCRIPTION = SUBSCRIPTION.replaceAll("PRICING", String.valueOf(PRICE));

答案 1 :(得分:1)

价格必须是STRING而不是双倍。

你可以试试这个:

String price = String.valueOf(PRICE)
SUBSCRIPTION = SUBSCRIPTION.replaceAll("PRICING",price);

答案 2 :(得分:0)

replaceAll()需要输入,

public String replaceAll(String regex,
                String replacement)

所以替换应该是string,而不是double,因为您的错误说明了,

 Error in method invocation: Method replaceAll( java.lang.String, double)

使用String方法将其转换为valueOf()。或者,

String price= Double.toString(PRICE);

详细了解String#replaceAll()方法

答案 3 :(得分:0)

String pricing = MessageFormat.format("{0, number, currency}", PRICE);

SUBSCRIPTION = SUBSCRIPTION.replaceAll("PRICING", pricing);

必须是一个字符串。

这里我使用默认的Locale和MessageFormat。

此外:BigDecimal可能是比有损双重更好的选择。 BigDecimal必须使用add之类的方法,但double只是实数的近似值。

答案 4 :(得分:0)

变量PRICE的类型为double,方法replaceAll需要第二个参数为String。只需添加转化:

SUBSCRIPTION = SUBSCRIPTION.replaceAll("PRICING",String.valueOf(PRICE));

答案 5 :(得分:0)

下面的代码应该可以正常工作。

SUBSCRIPTION = SUBSCRIPTION.replaceAll("PRICING",String.valueOf(PRICE));

答案 6 :(得分:0)

正如错误消息所示,replaceAll()方法接受两个字符串参数。尝试使用" String.valueOf(PRICE)"将double转换为String表示。