### 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
C);
	input = "&#4294967295;";
	result = input.xml_unescape();
	CHECK(result.length() == 1);
	C);
	// Check out of range of char32_t
	input = "&#xFFFFFFFFF;";
	CHECK(input.xml_unescape() == input);
	input = "&#4294967296;";
	CHECK(input.xml_unescape() == input);
	// Shouldn't consume without ending in a ';'
	input = "&#66";
	CHECK(input.xml_unescape() == input);
	input = "&#x41";
	CHECK(input.xml_unescape() == input);
	// Invalid characters should make the entity ignored
	input = "&#x41SomeIrrelevantText;";
	CHECK(input.xml_unescape() == input);
	input = "&#66SomeIrrelevantText;";
	CHECK(input.xml_unescape() == input);
}
TEST_CASE("[String] Strip escapes") {
	String s = "\t\tTest Test\r\n Test";
	CHECK(s.strip_escapes() == "Test Test Test");
}
TEST_CASE("[String] Similarity") {
	String a = "Test";
	String b = "West";
	String c = "Toad";
	CHECK(a.similarity(b) > a.similarity(c));