如何用java中的十进制值替换字符串中的值

时间:2016-05-08 06:05:20

标签: java

想要用十进制值替换字符串值。假设“4”是要替换“0.5”而不是4的字符串值。 我收到一个错误:

at sun.misc.FloatingDecimal.parseFloat(Unknown Source)
at java.lang.Float.parseFloat(Unknown Source)

以下是我的尝试:

float rename = Float.parseFloat(activ.code1);
  String str = Float.toString(rename);
  str.replaceAll("4", "0.5");
  activ.code1=str;

我的输入为“4”,我希望输出为“0.5”。但是,当我只给予替换时:

String.replace("4", "0.5");

它打印0.1而不是0.5

1 个答案:

答案 0 :(得分:1)

java中的

String是不可变的,因此您需要在替换" 4"之后分配值。用" 0.5"像:

str = str.replace("4", "0.5");//use replace instead of replaceAll

此调用将替换4到0.5的所有出现。如果有多次出现4那么它将替换所有出现的事件。

e.g。
输入:4444
输出:0.50.50.50.5