### 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 (skip) {
			print_unicode_error(vformat("Unpaired  (%x [eol])", c_prev));
			decode_error = true;
		}
	}
	if (str_size == 0) {
		clear();
		return OK; // 
	}
	resize(str_size + 1);
	char32_t *dst = ptrw();
	dst[str_size] = 0;
	bool skip = false;
	uint32_t c_prev = 0;
	while (cstr_size) {
		uint32_t c = (byteswap) ? BSWAP16(*p_utf16) : *p_utf16;
		if ((c & 0xfffffc00) == 0xd800) { // 
			if (skip) {
				*(dst++) = c_prev; // 
			}
			skip = true;
		} else if ((c & 0xfffffc00) == 0xdc00) { // 
			if (skip) {
				*(dst++) = (c_prev << 10UL) + c - ((0xd800 << 10UL) + 0xdc00 - 0x10000); // 
			} else {
				*(dst++) = c; // 
			}
			skip = false;
		} else {