2017-03-23 16 views
0

我有一个小数位的问题,我的SAS变量。我如何让SAS忘记小数位我变量?

我有两个数字变量,我想在SAS中进行比较。 他们都与numx10.1格式化和变量的一个计算如下:

AVG(延迟)/30.44作为delay_months格式= numx10.1

我想这两个值在datastep比较使用

其中var1^= delay_months;

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

我怎样才能让SAS忘记小数位,只关注我看到的数字 - 例如4,1?

亲切的问候 玛丽亚

回答

2

格式不改变价值 - 它只是SAS它代表你的方式。在比较过程中(或创建变量时),一个建议可能是四舍五入的

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

SAS对数值使用浮点表示法。因为有时你看到的不是它是什么。 More about that in SAS documentation

+0

非常感谢 - 这完全解决了我的问题! – user1626092