When you specify numeric(10,4) you are telling SQL Server to use a precision of 10 i.e. the number of digits stored from both sides of the decimal point and a scale of 4 i.e 4 digits to the right of the decimal point.
This effectively means that the maximum number can be 999999.9999 (with 6 digits to the left of the decimal point and 4 digits to the right) which is smaller than 4236575.3280 which would overflow the storage. Importantly the data that would be lost is the most significant digit rather than the least significant digit and this is why it fails.
You will notice that the following all succeed:
select convert(numeric(11, 4), '4236575.320000000000000000')
select convert(numeric(10, 3), '4236575.320000000000000000')
select convert(numeric(8, 1), '4236575.320000000000000000')
which all allow for 7 digits to the left of the decimal point.
numeric(10,4)means: 10 digits in total, thereof 4 after the decimal point - this leaves only 6 digits before the decimal point, and4236575.320needs at least 7 digits before the decimal point. Try to usenumeric(15,4)or something like that - should work no problem.