When I insert that value into a datatype of float, it isn't zero.
You might be accidentally casting it to INT or displaying it incorrectly.
If your values are going to be very large or very small (and can't be held in DECIMAL) then you'll need to use FLOAT
DECLARE @Table TABLE (F FLOAT, D DECIMAL(19,7))
INSERT INTO @Table (F,D)
VALUES(1,1)
INSERT INTO @Table (F,D)
VALUES(1.74269E-06,1.74269E-06)
-- I can see the float here in exponential format
SELECT F,D FROM @Table
-- I can see it here in decimal format
SELECT CONVERT(DECIMAL(19,7),F),D FROM @Table
-- But if I cast to INT it disappears.
SELECT CONVERT(INT,F),D FROM @Table