所以我试图以欧元计算利润。我拥有的数据是SoldValue
和Profit
。 "利润"来自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
。
答案 0 :(得分:3)
不要进行字符串操作和类型转换以获得正确的百分比,因为所有百分比都难以正确,并且可能比纯数值方法更慢。
相反,因子可以这样计算:
double factor = (100.0 + Percentage) / 100.0;
这里的基本想法是将百分比添加到100(百分比),然后将其除以100到"标准化" /将其缩放回1.something
等值。
这样,当百分比为1.2时,因子将为1.012。