一个求余的问题 我发现在excel中的 MOD 求余函数 和C#中的 % 功能不一样当 两个数值同号的时候 是相同的 但是在异号的时候就不一样的 异号的情况下 想在C#中完全实现excel中的MOD功能则有点问题 大家有没有什么写这个函数的代码?? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 哪你可以重载%运算符, 代码没有,要你自去写,建议你看一下,cpu运算规则,这样你就知道怎么运算的了 private double MOD(string x1,string x2) { double ModDa,ModValues; string ModValues1; if (string.Compare(x2,"0")==0)//除数为0的 处理 return -1; else { if(string.Compare (x1.Substring (0,1),x2.Substring (0,1))==0) //判断X1,X2是否同号 { ModValues=double .Parse (x1) % double.Parse (x2); return ModValues ; } ModDa=double.Parse (x1)/(System.Math .Abs (double.Parse (x2))-1); if(string.Compare (x2.Substring (0,1),"-")==0) { ModValues1="-"+ModDa.ToString ();//当除数为负号的时候 模也为负 ModValues=double.Parse(ModValues1); return ModValues ; } ModValues=ModDa; return ModValues ; } } 有点小问题 if(string.Compare (x1.Substring (0,1),x2.Substring (0,1))==0) //判断X1,X2是否同号这一句不行 前面应该给X1 X2 分别加上一个判断 正数加上 + 的语句!自己写吧 应该没问题了 其实 还有更简单的 给分吧 呵呵!~private double MOD(string xx1,string xx2) { double ModDa; double x1=double.Parse(xx1); double x2=double.Parse(xx2); if (x2==0)//除数为0的 处理 return -1; if (x1*x2>0)//同号时直接用% { ModDa=x1%x2; return ModDa; } ModDa=x1/(System.Math .Abs (x2)-1);//异号时ModDa的值与X2相同 ModDa=(x2<0)?(ModDa*-1):(System.Math .Abs (ModDa)); return ModDa; } 求助!!!VS2010连接不了数据库 发布一个图像处理小工具:Crimm Imageshop 2.0 数据库区无人,我来这里跪求! 挑战高手——————c#写ini文件不需要键值直接写入value 怎样编双击事件 发生类型为 System.StackOverflowException 的异常。 WEB进行的进程问题 想学css但是不知道怎么学,提点经验跟建议 WPF的TextBox的Text属性直接赋值不显示,用数据绑定就显示,郁闷 得到一个object,如何将其转换成string[]? 【高分求!!在线等!!】怎么设置TcpClient的连接超时时间啊? 一个事件中定义事件 传参的问题
{
double ModDa,ModValues;
string ModValues1;
if (string.Compare(x2,"0")==0)//除数为0的 处理
return -1;
else
{
if(string.Compare (x1.Substring (0,1),x2.Substring (0,1))==0) //判断X1,X2是否同号
{
ModValues=double .Parse (x1) % double.Parse (x2);
return ModValues ;
}
ModDa=double.Parse (x1)/(System.Math .Abs (double.Parse (x2))-1);
if(string.Compare (x2.Substring (0,1),"-")==0)
{
ModValues1="-"+ModDa.ToString ();//当除数为负号的时候 模也为负
ModValues=double.Parse(ModValues1);
return ModValues ;
}
ModValues=ModDa;
return ModValues ;
}
}
if(string.Compare (x1.Substring (0,1),x2.Substring (0,1))==0) //判断X1,X2是否同号
这一句不行
前面应该给X1 X2 分别加上一个判断 正数加上 + 的语句!
自己写吧 应该没问题了
给分吧 呵呵!~private double MOD(string xx1,string xx2)
{
double ModDa;
double x1=double.Parse(xx1);
double x2=double.Parse(xx2);
if (x2==0)//除数为0的 处理
return -1;
if (x1*x2>0)//同号时直接用%
{
ModDa=x1%x2;
return ModDa;
}
ModDa=x1/(System.Math .Abs (x2)-1);//异号时ModDa的值与X2相同
ModDa=(x2<0)?(ModDa*-1):(System.Math .Abs (ModDa));
return ModDa;
}