将Excel%转换为C#

时间:2015-09-03 08:12:33

标签: c# excel excel-formula

如果我在第1行单元格A,B,C中分别具有以下值

,则在Excel中

3.332125, 100%, 0%和单元格$D$1我有公式:=($A$1*$B$1*($C$1+100%)+0.16)

这给出了我想要的值3.492125。我需要将其转换为C#公式,我遇到的问题是解释100%。

任何人都可以在C#

中提供相应的内容

2 个答案:

答案 0 :(得分:0)

必须首先从字符串转换百分比。来自This simmilar stack overflow question

public decimal GetDecimalFromString(string valu)
{
    return decimal.Parse( valu.TrimEnd( new char[] { '%', ' ' } ) ) / 100M;
}

本质上,num将是字符串值的十进制值,其中字符“%”和/或“”(空格)取自末尾,除以100.这将给出百分比作为小数。 / p>

然后我们可以创建一个方法来实现您的公式:

public decimal YourFormula(decimal A, decimal B, decimal C)
{
    return(A*B*(C+1)+0.16);
}

这里的1等于100%,如excel

答案 1 :(得分:0)

double a = 3.332125;
double b = 100/100;
double c = 0 / 100;
Console.WriteLine((a * b * (c + 100 / 100) + 0.16).ToString());

结果:

  

3.492125

将%替换为/ 100