You can try using the $ to denote a money datatype. For example:
DECLARE @T TABLE(Val MONEY)
INSERT @T (Val) VALUES ($922337203685477.5807)
As to what data type to actually use... It depends.. I use money becasue that's what it is. If performing a lot of calculations you can get math errors. But, those errors seem to be real edge case scenarios.