### 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
Array value_arr = values_arr[i];
				if (value_arr.size() == 2) {
					Variant v_key = value_arr[0];
					 key = v_key;
					Variant v_val = value_arr[1];
					 val = v_val;
					new_string = new_string.replace(placeholder.replace("_", key), val);
				} else {
					ERR_PRINT(("STRING.format Inner Array size != 2 ").ascii().get_data());
				}
			} else { //
				Variant v_val = values_arr[i];
				 val = v_val;
				if (placeholder.find("_") > -1) {
					new_string = new_string.replace(placeholder.replace("_", i_as_str), val);
				} else {
					new_string = new_string.replace_first(placeholder, val);
				}
			}
		}
	} else if (values.get_type() == Variant::DICTIONARY) {
		Dictionary d = values;
		List<Variant> keys;
		d.get_key_list(&keys);
		for (const Variant &key : keys) {
			new_string = new_string.replace(placeholder.replace("_", key), d[key]);
		}
	} else {
		ERR_PRINT(("Invalid type: use Array or Dictionary.").ascii().get_data());
	}