/// <summary>
/// 判断输入的数是否是科学计数法。如果是的话,就会将其换算成整数并且返回,否则就返回false。
/// </summary>
/// <param name="num"></param>
/// <param name="CompleteNum"></param>
/// <returns></returns>
private bool ChkNum(string num, ref decimal CompleteNum)
{
bool result = false;
bool resultSymbol = num.Contains("*");
bool result0 = num.Contains("^");
if ((resultSymbol == true) && (result0 == true))
{ //当数字中有*和^的时候,进行下面的判断
int IntSymbol = num.IndexOf("*");
int Symbol0 = num.IndexOf("^");
if (((Symbol0 - IntSymbol) == ))
{//当*在^前面的时候
string numA = num.Substring(, IntSymbol);//截取*号前面的数字(基数);
string numB = num.Substring(IntSymbol+, Symbol0 - IntSymbol-);//截取10;
string numC = num.Substring(Symbol0+, num.Length - Symbol0-);//获得幂次数
Regex regNum0 = new Regex(@"^(\-|\+)?\d+(\.\d+)?$");
Regex regNum2 = new Regex(@"^-[1-9]\d*$|^[1-9]\d*$");
if ((regNum0.IsMatch(numA)) && (numB == "") && (regNum2.IsMatch(numC)))
{
decimal dcNumA;
decimal.TryParse(numA,out dcNumA);
decimal dcNumC;
decimal.TryParse(numC, out dcNumC);//将幂次数转换成decimal类型
decimal zhengshu = ;
if (dcNumC > )
{//当幂次数为整数的时候
for (int i = ; i < dcNumC - ; i++)
{
zhengshu *= ;
}
}
else
{//当幂次数为负数的时候
for (int i = ; i < Math.Abs(dcNumC) + ; i++)
{
zhengshu /= ;
}
}
CompleteNum = dcNumA * zhengshu;
result = true;
}
else
{
result = false;
}
}
else
{
result = false;
}
}
else
{
result = false;
}
return result;
}

最新文章

  1. Understand Lambda Expressions in 3 minutes(翻译)
  2. 分布式追踪系统dapper
  3. 如何把一个android工程作为另外一个android工程的lib库
  4. php 通过变量 来调用函数
  5. Python time datetime常用时间处理方法
  6. DNA Sorting 分类: POJ 2015-06-23 20:24 9人阅读 评论(0) 收藏
  7. css之margin &amp;&amp; padding讲解
  8. Keil uCos 2.52 stm32 【worldsing笔记】
  9. Mysql 批量建表存储过程
  10. jQuery validate api(转)
  11. Nginx详解二十:Nginx深度学习篇之HTTPS的原理和作用、配置及优化
  12. 一步一步学习Swift之(三):巧用AutoLayout布局
  13. delete_failed_internal_error安装失败
  14. bzoj1092
  15. weblogic之CVE-2018-3246 XXE分析
  16. python全栈开发从入门到放弃之迭代器生成器
  17. [NOIP2017]逛公园 最短路图 拓扑序DP
  18. sql生成一个日期表
  19. C#开发微信公众平台-就这么简单(转载)
  20. [sharepoint]文档库,文件夹授权

热门文章

  1. HTML5学习总结
  2. AndroidStudio中activity实现去掉标题栏
  3. PCI Express(六) - Simple transactions
  4. 解决linux 无法下载 oracle 官网 java的 安装包
  5. C学习笔记
  6. 5、SQL Server数据库、T-SQL
  7. ZXingObjC 64位 集成到自己的项目中(xcode 6.4)
  8. springMVC: java.lang.ClassNotFoundException: javax.servlet.jsp.jstl.core.Config
  9. shell 脚本杀死后台由php脚本控制运行的所有php脚本和java程序
  10. delphi判断文件类型