### 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 (is_ascii_upper_case(c) ? (c + ('a' - 'A')) : c);
}
const char Char::_null = 0;
const char16_t Char16::_null = 0;
const char32_t ::_null = 0;
const char32_t ::_replacement_char = 0xfffd;
bool select_word(const  &p_s, int p_col, int &r_beg, int &r_end) {
	const  &s = p_s;
	int beg = CLAMP(p_col, 0, s.length());
	int end = beg;
	if (s[beg] > 32 || beg == s.length()) {
		bool symbol = beg < s.length() && is_symbol(s[beg]);
		while (beg > 0 && s[beg - 1] > 32 && (symbol == is_symbol(s[beg - 1]))) {
			beg--;
		}
		while (end < s.length() && s[end + 1] > 32 && (symbol == is_symbol(s[end + 1]))) {
			end++;
		}
		if (end < s.length()) {
			end += 1;
		}
		r_beg = beg;
		r_end = end;
		return true;
	} else {
		return false;
	}
}
bool Char16::operator<(const Char16 &p_right) const {