VBA Round() function always returns zero when input is in scientific notation

845 views Asked by At

I have a strange issue with the Round() VBA function. When I try rounding any input in scientific notation it always returns zero:

? Cells(3, 34).Value

8,77796901893289E-02

? Round(Cells(3, 34).Value, 0)

0

? Round(8.777, 0)

9

Any clues how to make it work?

2

There are 2 answers

0
Doug Glancy On BEST ANSWER

8,77796901893289E-02 equals 0,0877796901893289, so it would round to zero.

0
gtwebb On

I think the issue you are running into is that round deals with "number of digits" not significant figures.

This number of digits refers to number of decimal points. The image below shows the example from the help file.

enter image description here