用于小数前后有大量数字的数字的最佳SAS格式

用于小数前后有大量数字的数字的最佳SAS格式,sas,Sas,我想使用infle语句阅读和显示如下数字- 0.0233322413531 25895449673.5189 190848802804.89248974 不丢失平面文件中的任何数字(有效和非有效),这是输入、信息和格式的最佳格式 编辑: 到目前为止,我们已经尝试了下面的方法,最后一个的数字被截断了,剩下的两个都很好 data _null_; infile datalines; format x BEST32.; input x : BEST32.; put x=; datalines; 0.

我想使用
infle
语句阅读和显示如下数字-

  • 0.0233322413531
  • 25895449673.5189
  • 190848802804.89248974
不丢失平面文件中的任何数字(有效和非有效),这是输入、信息和格式的最佳格式

编辑:

到目前为止,我们已经尝试了下面的方法,最后一个的数字被截断了,剩下的两个都很好

data _null_;
infile datalines;
format x BEST32.;
input x : BEST32.;
put x=;
datalines;
0.02133322413531
25895449673.5189
190848802804.89248974
;
run;
输出:

  • x=0.02133322413531
  • x=25895449673.5189

  • x=190848802804.892在8字节的默认数字长度下,SAS只能将浮点值精确存储到大约15位。这最能说明原因


    或者,对于进一步的光读,这将提供更详细的信息

    如果将数字存储为字符变量,则不会丢失任何数字

    每次执行计算时,都可以使用转换为数值

     input(number_string,format.)
    

    另外,如果您使用,那么您不仅限于这两个,您还可以使用
    十进制(p,q)
    ,其中(p,q)小数点左右的数字,最多可达52。

    由于浮点限制,请使用字符变量。感谢您的时间。至于转换成字符,它会显示所有的数字,但只要我对它进行任何计算,数字就会被截断。另外,如果您可以发布任何DS2的示例,我不知道您想要执行计算。对于大多数应用程序来说,双精度已经足够了,所以我不必担心截断问题。你能透露你在做什么吗?