如何让SAS忘记小数位?变量?

时间:2017-03-23 10:38:18

标签: formatting sas decimal

我的SAS变量有小数位的问题。

我想在SAS中比较两个数字变量。 它们都使用numx10.1格式化,其中一个变量计算如下:

avg(延迟)/30.44 as delay_months format = numx10.1

我想使用

比较datastep中的两个值

其中var1 ^ = delay_months;

但是,即使两个变量都具有相同的值,例如。 4,1,SAS仍在datastep中用where-statement显示此观察结果。 我想这是因为delay_months变量中的小数。

如何让SAS忘记小数位并只关注我看到的数字 - 例如4,1?

亲切的问候 玛利亚

1 个答案:

答案 0 :(得分:2)

格式不会更改值 - 它只是SAS向您表示的方式。一个建议可能是在比较期间(或创建变量时)舍入

where round(var1, 0.1) ^= round(delay_months, 0.1);

SAS对数值使用浮点表示。因为有时候你所看到的并不是它的本质。 More about that in SAS documentation