I'm coding in C# for Windows Phone 7.5; I am taking text from a text box, parsing it into an array, then converting each array element into an Int32 using Convert.ToInt32, then running the resulting Int32 values through a series of mathematical calculations, multiplying and adding the Int32 values to hardcoded numbers (all dependent upon what's selected in the UI).
All is well until I take the resulting calculations and multiply them together: I'm getting a negative number from multiplying two positive numbers! This is the only time I am doing any calculations with both of the numbers that originated in the method that uses the Convert.ToInt32 function. When they're added, subtracted, or even divided, the math comes out correctly. But when they're multiplied, no dice. The math is totally wrong; I double checked the math in LibreOffice Calc and it doesn't match. When stepping through the code, everything's correct until the numbers that originated in the method that uses the Convert.ToInt32 function are multiplied together. Any ideas?
checked { ... }
block and any integer overflow will become an exception. That will help you find your bug. – Scarron