Long won't get you any decimal places. There are two issues. One is that the accuracy of the operation is constrained by the particular floating-point implementation. The other is a question of adjusting and formatting the results that you get.