### 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
if (exp > maxExponent) {
		exp = maxExponent;
		WARN_PRINT("Exponent too high");
	}
	dblExp = 1.0;
	for (d = powersOf10; exp != 0; exp >>= 1, ++d) {
		if (exp & 01) {
			dblExp *= *d;
		}
	}
	if (expSign) {
		fraction /= dblExp;
	} else {
		fraction *= dblExp;
	}
done:
	if (endPtr != nullptr) {
		*endPtr = (C *)p;
	}
	if (sign) {
		return -fraction;
	}
	return fraction;
}
#define READING_SIGN 0
#define READING_INT 1
#define READING_DEC 2
#define READING_EXP 3
#define READING_DONE 4
double ::to_float(const char *p_str) {