我对此比较陌生......
我正在尝试执行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'
感谢您的帮助
答案 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表示。