科学计数法字符串转为对应的十进制程序-C代码

// 将科学计数字符串转为 对应十进制
// str为科学计数法表示的数值字符串(需要内容正确,否则只转化 从start位起始到end中的一段最大数值长度)
double SciCoun2Deci(const char str, int start, int end)
{
double pre_num = 0.0, num = 0.0; // 用于记录E值前的数值;用于记录过程值
int decimal = 0, symbol = 1; // 用于记录小数点位置, 用于记录正负符号
while(start < end)
{
switch(str[start])
{
case ‘+’: break;
case ‘-’: symbol = -1; break;
case ‘.’: decimal = 1; break;
case ‘E’:
case ‘e’: pre_num = symbol
num; symbol = 1; num = 0.0; break;
default: num = 10num + str[start] - ‘0’;
if(decimal^0 && pre_num == 0) decimal++;
}
start++;
}
num = pre_num
pow(10.0, symbol*num + 1 - decimal);
return num;
}

上一篇:mysql中float和decimal类型特点(不定时更新)


下一篇:DDDMM.MMMM format