我想做大号的百分比(int64:600 851 475 143)
我的实际操作是
a = Math.round(i / 600851475143 * 100, 5);
Run Code Online (Sandbox Code Playgroud)
我也是一个介于1和600851475143之间的int64.如果我是对的,结果将介于0,00000%和100,00000%之间.
但Visual Studio Express 2013告诉我方法'System.Math.Round(decimal,int)'和'System.Math.Round(double,int)'之间的模糊调用.
怎么说视觉上好的方法是System.Math.Round(decimal,int),即使某些int64在操作中?
奖励:要理解我的问题,我正在尝试解决ProjectEuler.net的问题3:"13195的主要因素是5,7,13和29. 600851475143的最大主要因素是什么?"
我做了我的方法,它适用于13195.但现在我必须用600851475143(在x64系统上),但我的算法似乎不是optimezed,我想添加百分比进度条,以了解我的EXE崩溃或不.我的变量是这个百分比......
我不想要解决Euleur问题3的问题,我只需要修复我的百分比问题......