Hello all,

almost every Natural-Programmer knows the weird behaviour of COMPUTE ROUNDED.

```
define data local
1 #five (I1) CONST <5>
1 #three (I1) CONST <3>
1 #p2 (P1.3)
end-define
compute rounded #p2 = #five / #three
write '=' #p2 /* results in 1.000
end
```

There’s an easy way to get 1.667 as a result. Just add 0.0 to the divisor. I don’t know exactly how it works. But it does.

Try this:

```
define data local
1 #five (I1) CONST <5>
1 #three (I1) CONST <3>
1 #p1 (P1.3)
1 #p2 (P1.3)
1 #p3 (P1.3)
end-define
compute rounded #p1 = 5 / 3
compute rounded #p2 = #five / #three
compute rounded #p3 = (#five + 0.0) / #three
write '=' #p1 / '=' #p2 / '=' #p3
end
```

Regards

Matthias