### Godot version

4.1.1

### System information

linux

### Issue description

The `"%+f"` format adds a `+` sign in front of positive numbers. If you try to format `-0.0`, it breaks and displays both a `+` and a `-`.

### Steps to reproduce

```gdscript
@tool
extends EditorScript

func _run() -> void:
    print("%+f" % -0.0)
```

### Minimal reproduction project

see above
return new_string;
}
 ::replace(const  &p_key, const  &p_with) const {
	 new_string;
	int search_from = 0;
	int result = 0;
	while ((result = find(p_key, search_from)) >= 0) {
		new_string += substr(search_from, result - search_from);
		new_string += p_with;
		search_from = result + p_key.length();
	}
	if (search_from == 0) {
		return *this;
	}
	new_string += substr(search_from, length() - search_from);
	return new_string;
}
 ::replace(const char *p_key, const char *p_with) const {
	 new_string;
	int search_from = 0;
	int result = 0;
	while ((result = find(p_key, search_from)) >= 0) {
		new_string += substr(search_from, result - search_from);
		new_string += p_with;
		int k = 0;
		while (p_key[k] != '\0') {
			k++;
		}
		search_from = result + k;
	}