### 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
if (search_from == 0) {
		return *this;
	}
	new_string += substr(search_from, length() - search_from);
	return new_string;
}
 ::replace_first(const  &p_key, const  &p_with) const {
	int pos = find(p_key);
	if (pos >= 0) {
		return substr(0, pos) + p_with + substr(pos + p_key.length(), length());
	}
	return *this;
}
 ::replacen(const  &p_key, const  &p_with) const {
	 new_string;
	int search_from = 0;
	int result = 0;
	while ((result = findn(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;
}
 ::repeat(int p_count) const {
	ERR_FAIL_COND_V_MSG(p_count < 0, "", "Parameter count should be a positive number.");