### 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 b;
}
// Similarity according to Sorensen-Dice coefficient
float ::similarity(const  &p_string) const {
	if (operator==(p_string)) {
		// 
		return 1.0f;
	}
	if (length() < 2 || p_string.length() < 2) {
		// 
		return 0.0f;
	}
	Vector<> src_bigrams = bigrams();
	Vector<> tgt_bigrams = p_string.bigrams();
	int src_size = src_bigrams.size();
	int tgt_size = tgt_bigrams.size();
	int sum = src_size + tgt_size;
	int inter = 0;
	for (int i = 0; i < src_size; i++) {
		for (int j = 0; j < tgt_size; j++) {
			if (src_bigrams[i] == tgt_bigrams[j]) {
				inter++;
				break;
			}
		}
	}
	return (2.0f * inter) / sum;
}
static bool _wildcard_match(const char32_t *p_pattern, const char32_t *p_string, bool p_case_sensitive) {