### Godot version

4.2.dev3.official

### System information

Windows 10 - GLES3 (Compatibility)

### Issue description

When using the SpinBox node, it is possible for a user to input `NAN` into it (by clicking it and writing "NAN" as text).

I believe this should either be prevented (for example with an `allow_nan` property), or [documented](https://docs.godotengine.org/en/latest/classes/class_spinbox.html), as developers might not know that they should be checking the SpinBox's value against it.

![image](https://github.com/godotengine/godot/assets/141344817/ba1455e2-36b8-45f1-940d-32b9da92f1c4)


### Steps to reproduce

0. Create a new project.
1. Add a SpinBox node.
2. Run the project.
3. Click the SpinBox.
4. Type "NAN".
5. Press enter.

### Minimal reproduction project

[SpinBox NAN - MPR.zip](https://github.com/godotengine/godot/files/12448902/SpinBox.NAN.-.MPR.zip)

double max_validated = MAX(p_max, shared->min);
	if (shared->max == max_validated) {
		return;
	}
	shared->max = max_validated;
	shared->page = CLAMP(shared->page, 0, shared->max - shared->min);
	set_value(shared->val);
	shared->emit_changed("max");
}
void Range::set_step(double p_step) {
	if (shared->step == p_step) {
		return;
	}
	shared->step = p_step;
	shared->emit_changed("step");
}
void Range::set_page(double p_page) {
	double page_validated = CLAMP(p_page, 0, shared->max - shared->min);
	if (shared->page == page_validated) {
		return;
	}
	shared->page = page_validated;
	set_value(shared->val);
	shared->emit_changed("page");
}
double Range::get_value() const {
	return shared->val;
}
double Range::get_min() const {