Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/327.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
java中如何用十进制值替换字符串中的值_Java - Fatal编程技术网

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

java中如何用十进制值替换字符串中的值,java,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

要将字符串值替换为十进制值。假设“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,java中的字符串是不可变的,因此您需要在将“4”替换为“0.5”后分配值,如:

此调用将替换所有出现的4到0.5。如果4多次出现,则它将替换所有出现

e、 g.
输入:4444

输出:0.50.50.50.5

您能给我们展示一下示例输入和预期输出吗?输入代替了“4”我正在替换“0.5”输出为0.5如果您的字符串只是“4”,为什么不创建一个新字符串“0.5”并使用它呢?。这看起来像一个XY问题fyi:From:
activ.code1
具有
“3”、“4”、“5”
值,我将其替换为
“0”、“0.5”、“1”
,看起来工作正常这是您所期望的吗?它不工作,而不是0.5打印0.1。这也发生在replaceAll上。是的,activ.code1有“3”、“4”、“5”个值,我将它们替换为“0”、“0.5”、“1”,这就是为什么调用
Float.parseFloat(activ.code1)正在失败@程序员
“3”、“4”、“5”
不是浮点数,因此无法使用
parseFloat()
解析单个文本值。请编辑问题,并用MCVE()说明您的输入是什么以及您希望输出是什么。
str = str.replace("4", "0.5");//use replace instead of replaceAll