### 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 (sign) {
		c[0] = '-';
	}
	return s;
}
 ::num_uint64(uint64_t p_num, int base, bool capitalize_hex) {
	uint64_t n = p_num;
	int chars = 0;
	do {
		n /= base;
		chars++;
	} while (n);
	 s;
	s.resize(chars + 1);
	char32_t *c = s.ptrw();
	c[chars] = 0;
	n = p_num;
	do {
		int mod = n % base;
		if (mod >= 10) {
			char a = (capitalize_hex ? 'A' : 'a');
			c[--chars] = a + (mod - 10);
		} else {
			c[--chars] = '0' + mod;
		}
		n /= base;
	} while (n);
	return s;
}
 ::num_real(double p_num, bool p_trailing) {