因子的百分比

时间:2018-05-15 19:48:16

标签: c# numbers percentage

所以我试图以欧元计算利润。我拥有的数据是SoldValueProfit。 "利润"来自1.22345356,除了我计算买入的价值我需要它是1.0122345356。我不知道如何添加" 1.0"或" 1。" (当利润为10%或更高时)。我试图将double转换为字符串然后添加" 1.0"或" 1,"在它前面,然后将其转换回双倍。我是C#的新手,所以不要怪我编码。 :)

我的代码:

double Percentage = 1.22345356;
double SoldValue = 0.16644;

string F = "1.0" + Percentage;
double Factor = Convert.ToDouble(F);

double BoughtValue = SoldValue / Factor;

double Profit = SoldValue - BoughtValue;

结果:101,22345356代替1,0122345356

1 个答案:

答案 0 :(得分:3)

不要进行字符串操作和类型转换以获得正确的百分比,因为所有百分比都难以正确,并且可能比纯数值方法更慢。

相反,因子可以这样计算:

double factor = (100.0 + Percentage) / 100.0;

这里的基本想法是将百分比添加到100(百分比),然后将其除以100到"标准化" /将其缩放回1.something等值。

这样,当百分比为1.2时,因子将为1.012。