Jump to content
Sign in to follow this  

BUG? - Round() for negative very small number returns -0

Recommended Posts


$n = -1 * 1/1000000
ConsoleWrite("1 = " & $n & @CRLF)
ConsoleWrite("2 = " & Round($n,2) & @CRLF)
ConsoleWrite("3 = " & StringFormat('%.2f',Round($n,2)) & @CRLF)


1 = -1e-006

2 = -0

3 = -0.00

it should be

1 = -1e-006

2 = 0

3 = 0.00

I think it's bug in Round(), it shouldn't return -0 as result in any case.

Should I create bug ticket for this?

Share this post

Link to post
Share on other sites

I would not necessarily agree that returning -0 is a bug. whether it is -0 or 0 will make no difference to any subsequent calculations. Having the minus sign does let you know that it has been rounded from a number less than 0.

"Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the universe trying to build bigger and better idiots. So far, the universe is winning."- Rick Cook

Share this post

Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

Sign in to follow this  


Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.