### Godot version

4.0 beta17

### System information

Windows10

### Issue description

call `"".split()`
Is there an infinite loop inside? Function does not return.

### Steps to reproduce

"".split()

### Minimal reproduction project

N/A
char32_t c[2] = { p_char, 0 };
	return String(c);
}
String String::num(double p_num, int p_decimals) {
	if (Math::is_nan(p_num)) {
		return "nan";
	}
	if (Math::is_inf(p_num)) {
		if (signbit(p_num)) {
			return "-inf";
		} else {
			return "inf";
		}
	}
	if (p_decimals < 0) {
		p_decimals = 14;
		const double abs_num = ABS(p_num);
		if (abs_num > 10) {
			
			
			p_decimals -= (int)floor(log10(abs_num));
		}
	}
	if (p_decimals > MAX_DECIMALS) {
		p_decimals = MAX_DECIMALS;
	}
	char fmt[7];
	fmt[0] = '%';
	fmt[1] = '.';
	if (p_decimals < 0) {