You can override NumberColumn.SetValue to check the type of conversion:
[C#]
public override void SetValue(NodeBase node, object value)
{
//convert value to the NumberType
if (numberType != Convert.GetTypeCode(value))
value = Convert.ChangeType(value, NumberType);
//set value
base.SetValue (node, value);
}