### 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
copy_from(p_cstr);
}
const char *Char::get_data() const {
	if (size()) {
		return &operator[](0);
	} else {
		return "";
	}
}
void Char::copy_from(const char *p_cstr) {
	if (!p_cstr) {
		resize(0);
		return;
	}
	size_t len = strlen(p_cstr);
	if (len == 0) {
		resize(0);
		return;
	}
	Error err = resize(++len); 
	ERR_FAIL_COND_MSG(err != OK, "Failed to copy C-string.");
	memcpy(ptrw(), p_cstr, len);
}
Error ::parse_url( &r_scheme,  &r_host, int &r_port,  &r_path) const {
	
	 base = *this;
	r_scheme = "";
	r_host = "";