Sim*_*sen 5 c# math decimal percentage
decimal hundred = 100;
decimal value = 5000;
decimal sum = 1100000;
decimal valuePercentOfSum = value / sum * hundred; //result = 0.4545454545454545454545454500M
decimal percentOfSum = sum / hundred * valuePercentOfSum; //result = 4999.9999999999999999999999500M
Run Code Online (Sandbox Code Playgroud)
我希望结果是percentOfSum值的原始值(5000)
我需要一种方法来做这样的来回计算,我不能做任何舍入.
有帮助吗?
有人必须舍入(无论你喜不喜欢),因为你正在处理非理性数字和/或数字类型,精度有限
如果你使用double它将圆为你,如果你使用decimal它有更多的精度.但是,你将不得不忍受它留下精确度的事实.
根据您的想法,decimal可能不太方便,但如果您了解两种类型的后果(并且没有免费午餐),您可以相应地进行选择.