### 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 ret;
}
Vector<uint8_t> ::sha256_buffer() const {
	Char cs = utf8();
	unsigned char hash[32];
	CryptoCore::sha256((unsigned char *)cs.ptr(), cs.length(), hash);
	Vector<uint8_t> ret;
	ret.resize(32);
	for (int i = 0; i < 32; i++) {
		ret.write[i] = hash[i];
	}
	return ret;
}
 ::insert(int p_at_pos, const  &p_string) const {
	if (p_at_pos < 0) {
		return *this;
	}
	if (p_at_pos > length()) {
		p_at_pos = length();
	}
	 pre;
	if (p_at_pos > 0) {
		pre = substr(0, p_at_pos);
	}
	 post;
	if (p_at_pos < length()) {
		post = substr(p_at_pos, length() - p_at_pos);
	}
	return pre + p_string + post;