/// <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;
}

C# 科学计数法转换成数字的更多相关文章

  1. PHP科学计数法转换成数字

    /** * 科学计数法转换成数字 * @param $num * @param int $double * @return int */ function sctonum($num, $double ...

  2. Java将Excel中科学计数法解析成数字

    需要注意的是一般的科学表达式是1.8E12 1.8E-12 而在Excel中的科学表达式是1.8E+12 1.8E-12 我写的科学计数法的正则表达式是(-?\d+\.?\d*)[Ee]{1}[\+- ...

  3. java科学计数法转换成普通计数法

    java科学计数法转换成普通计数法: String sjiachun = "12345E-10"; BigDecimal db = new BigDecimal(sjiachun) ...

  4. [SoapUI] 重载JSONComparator比对JSON Response,忽略小数点后几位,将科学计数法转换为普通数字进行比对,在错误信息中打印当前循环的case number及其他附加信息

    重载JSONComparator比对JSON Response,忽略小数点后几位,将科学计数法转换为普通数字进行比对,在错误信息中打印当前循环的case number及其他附加信息 package d ...

  5. JAVA中科学计数法转换普通计数法

    今天发现数据库里汇总的数据有点大,一输出就被自动转化成科学计数法了.后来发现是转换字符串的方法有问题.如下: String a = "11234567.89"; BigDecima ...

  6. C# 中科学计数法转成正常值

    抓取数据的时候碰到科学技术法,查了一些资料,直接贴代码 /// <summary> /// 数字科学计数法处理 /// </summary> /// <param nam ...

  7. 导出csv文件数字会自动变科学计数法的解决方法

    其实这个问题跟用什么语言导出csv文件没有关系.Excel显示数字时,如果数字大于12位,它会自动转化为科学计数法:如果数字大于15位,它不仅用于科学技术费表示,还会只保留高15位,其他位都变0.解决 ...

  8. 转:导出csv文件数字会自动变科学计数法的解决方法

    导出csv文件数字会自动变科学计数法的解决方法   其实这个问题跟用什么语言导出csv文件没有关系.Excel显示数字时,如果数字大于12位,它会自动转化为科学计数法:如果数字大于15位,它不仅用于科 ...

  9. mysql导出csv文件excel打开后数字用科学计数法显示且低位变0的解决方法

    Excel显示数字时,如果数字大于12位,它会自动转化为科学计数法:如果数字大于15位,它不仅用于科学技术费表示,还会只保留高15位,其他位都变0. Excel打开csv文件时,只要字段值都是数字,它 ...

随机推荐

  1. Delphi系统变量:IsMultiThread对MM的影响

    前几日,调试一BUG,过程先不说,最后调试到MM,即Debug dcu,然后进入到GetMem.inc中的Get/FreeMem函数处后,出现AV. 然后一通找...郁闷了N天,后来发现将MM切换到Q ...

  2. Linux里的2>&1

    我们在Linux下经常会碰到nohup command>/dev/null 2>&1 &这样形式的命令.首先我们把这条命令大概分解下首先就是一个nohup表示当前用户和系统 ...

  3. 《疯狂Java讲义》(一) ---- 关于学习Java的反思

    "听到Spring很火,就立马买来一本Spring的书来读,最后结果往往是失败,因为这种学习没有积累,没有根基,学习过程中困难重重,每天都被一些相同.类似的问题所困扰,起初热情十足,经常上论 ...

  4. vi 使用入门

    几种模式:     Normal Mode 命令模式     Insert Mode 编辑模式     Command-line Mode      Visual Mode      Select M ...

  5. hibernate 左链接查询

    select pro from Provide as pro left join pro.labels as la left join pro.city as c where 1=1

  6. 关于 JavaScript prototype __proto__ 一点总结

    http://www.cnblogs.com/wbin91/p/5265163.html 先上代码 function(y) Foo{ this.y = y;} Foo.prototype.x = 10 ...

  7. 20个编写现代CSS代码的建议

    明白何谓Margin Collapse 不同于其他很多属性,盒模型中垂直方向上的Margin会在相遇时发生崩塌,也就是说当某个元素的底部Margin与另一个元素的顶部Margin相邻时,只有二者中的较 ...

  8. Broadcom以太网交换芯片培训

      目录 1.交换芯片架构....................................................................................... ...

  9. 美国安全公司HBGary——国家授命的黑客

         入侵电脑,窃听用户,假身份上网——美国安全公司HBGary是电脑防护和间谍软件的供应商.而其客户中就有美国的国家安全机构.现在,该公司被偷的电子邮件可以让我们对其数字化战争中的业务做一个初步 ...

  10. EUI ViewStack实现选项卡组件

    一  TabBar+ViewStack实现 这个教程确实没看懂...贼麻烦... 二 RadioButton+ViewStack 在exml中拖动组件RadioButton和ViewStack 设置e ...