因子百分比
Percentage to Factor
所以我正在尝试以欧元计算利润。我的数据是 SoldValue
和 Profit
。 "Profit" 是 1.22345356,除了我要计算购买价值外,我需要它是 1.0122345356。我不知道如何添加“1.0”或“1”。 (当利润为 10% 或更高时)。我试图将双精度转换为字符串,然后在其前面添加“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
。
不要进行字符串操作和类型转换来获得正确的百分比,因为所有百分比都更难获得正确的结果,并且可能比纯数值方法慢。
相反,因子可以这样计算:
double factor = (100.0 + Percentage) / 100.0;
这里的基本思路是将百分比加到 100(百分比),然后除以 100 得到 "normalize"/将其缩小到 1.something
.
这样的值
这样,当百分比为 1.2 时,系数将为 1.012。
所以我正在尝试以欧元计算利润。我的数据是 SoldValue
和 Profit
。 "Profit" 是 1.22345356,除了我要计算购买价值外,我需要它是 1.0122345356。我不知道如何添加“1.0”或“1”。 (当利润为 10% 或更高时)。我试图将双精度转换为字符串,然后在其前面添加“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
。
不要进行字符串操作和类型转换来获得正确的百分比,因为所有百分比都更难获得正确的结果,并且可能比纯数值方法慢。
相反,因子可以这样计算:
double factor = (100.0 + Percentage) / 100.0;
这里的基本思路是将百分比加到 100(百分比),然后除以 100 得到 "normalize"/将其缩小到 1.something
.
这样,当百分比为 1.2 时,系数将为 1.012。