diff --git a/tsg_util/headerForm.m b/tsg_util/headerForm.m
index 5e8e11ee613bde0516e5c3c6c84ee7807940716c..35d3c1e054a8724c1037499a147778a5c0755595 100644
--- a/tsg_util/headerForm.m
+++ b/tsg_util/headerForm.m
@@ -362,9 +362,9 @@ uiwait(hHeaderFig);
           case 'char'
             p_i.(key) = tsg.(key);
           case 'byte'
-            p_i.(key) = int8(str2num(tsg.(key)));
+            p_i.(key) = int8(str2double(tsg.(key)));
           case 'integer'
-            p_i.(key) = int16(str2num(tsg.(key)));
+            p_i.(key) = int16(str2double(tsg.(key)));
           case 'float'
             p_i.(key) = single(str2double(tsg.(key)));
           case 'double'
@@ -388,7 +388,7 @@ uiwait(hHeaderFig);
     % -------------------------------------------------------------
     for kk =  add_var
       key = char(kk);
-      tsg.(key) = single(str2double(get(data.(key), 'string')));
+      tsg.(key) = str2double(get(data.(key), 'string'));
       p_i.(key) = tsg.(key);
     end
     
@@ -409,9 +409,9 @@ uiwait(hHeaderFig);
             tsg.(var)(ii) = NaN;
           else
             if strcmpi(key, 'DATE')
-              tsg.(var)(ii) = single(datenumToJulian(datenum(s, 'yyyymmdd')));
+              tsg.(var)(ii) = double(datenumToJulian(datenum(s, 'yyyymmdd')));
             else
-              tsg.(var)(ii) = single(str2double(s));
+              tsg.(var)(ii) = double(str2double(s));
             end
           end
           %p_i.(key) = tsg.(key);
@@ -661,7 +661,7 @@ uiwait(hHeaderFig);
         elseif strcmpi(cle, padding('DATE', tsg.dim.COEF_CONV_SIZE))
           value = datestr(julianToDatenum(tsg.(var)(ii)), 'yyyymmdd');
         else
-          value = num2str(tsg.(var)(ii));
+          value = num2str(tsg.(var)(ii),'%f');
         end
         
         % concate variable name with key: eg SSJT_CALCOEF_H