### 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
for (int i = common_parent + 1; i < dst_dirs.size(); i++) {
		dir += dst_dirs[i] + "/";
	}
	if (dir.length() == 0) {
		dir = "./";
	}
	return dir;
}
bool ::is_valid_html_color() const {
	return Color::html_is_valid(*this);
}
// Changes made to the set of invalid filename characters must also be reflected in the  documentation for is_valid_filename.
static const char *invalid_filename_characters = ": / \\ ? * \" | % < >";
bool ::is_valid_filename() const {
	 stripped = strip_edges();
	if (*this != stripped) {
		return false;
	}
	if (stripped.is_empty()) {
		return false;
	}
	Vector<> chars = (invalid_filename_characters).split(" ");
	for (const  &ch : chars) {
		if (contains(ch)) {
			return false;
		}
	}
	return true;
}
 ::validate_filename() const {