The problem is that if you keep it in a variable int it will always be a number.
In this case I think it would be best to save it in a variable Nullable , that is, T150 could be worth null or a numeric value.
The code would be like this:
int? T150 = dt.Rows[j].IsNull("T150") ? null : new int?((int)dt.Rows[j]["T150"]);
If the value of the DataTable is not an int, for example it is a string with a number, you should do it like this:
int? T150 = dt.Rows[j].IsNull("T150") ? null : new int?(Convert.ToInt32(dt.Rows[j]["T150"]));
Then you could check if T150 has a value with the property "T150.HasValue".
I hope it serves you.
Greetings.