### 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 (p_critical) {
		print_error(vformat(U"Unicode parsing error, some characters were replaced with � (U+FFFD): %s", p_message));
	} else {
		print_error(vformat("Unicode parsing error: %s", p_message));
	}
}
Char ::ascii(bool p_allow_extended) const {
	if (!length()) {
		return Char();
	}
	Char cs;
	cs.resize(size());
	for (int i = 0; i < size(); i++) {
		char32_t c = operator[](i);
		if ((c <= 0x7f) || (c <= 0xff && p_allow_extended)) {
			cs[i] = c;
		} else {
			print_unicode_error(vformat("Invalid unicode codepoint (%x), cannot represent as ASCII/Latin-1", (uint32_t)c));
			cs[i] = 0x20; // 
		}
	}
	return cs;
}
 ::utf8(const char *p_utf8, int p_len) {