### 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
resize(p_length + 1);
	char32_t *dst = ptrw();
	dst[p_length] = 0;
	for (int i = 0; i < p_length; i++) {
		if (p_char[i] == 0) {
			print_unicode_error("NUL character", true);
			dst[i] = _replacement_char;
			continue;
		}
		if ((p_char[i] & 0xfffff800) == 0xd800) {
			print_unicode_error(vformat("Unpaired surrogate (%x)", (uint32_t)p_char[i]));
			dst[i] = _replacement_char;
			continue;
		}
		if (p_char[i] > 0x10ffff) {
			print_unicode_error(vformat("Invalid unicode codepoint (%x)", (uint32_t)p_char[i]));
			dst[i] = _replacement_char;
			continue;
		}
		dst[i] = p_char[i];
	}
}
void ::operator=(const char *p_str) {