武汉c培训
达内武汉中心

15271940953

热门课程

字符串转浮点数 字符串转整型数

  • 时间:2016-05-27
  • 发布:fun
  • 来源:51CTO

#define  _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<stdlib.h>
#include<assert.h>
double AtOf(const char* ptr);
double AtOi(const char* ptr)
{
assert(ptr);
double value = 0.0;
double sign = 0;
while (*ptr == ' ')//跳过空格
{
ptr++;
}
if (*ptr == '+' || *ptr == '-')
{
sign = (*ptr == '-') ? -1 : 1;
ptr++;
}
while (*ptr <= '9'&& *ptr >= '0')
{
value = value * 10 + *ptr - '0';
ptr++;
}
return sign*value;
}
void test1()
{
char *p = "   +1234.6978";
double ret = AtOf(p);
printf("%lf\n", ret);
}
void test2()
{
char *p = " -1234.6978";
double ret = AtOi(p);
printf("%lf\n", ret);
}
int main()
{
test2();
system("pause");
return 0;
}
double AtOf(const char * ptr)
{
assert(ptr);
double value = 0.0;
double power = 0.0;
    int sign = 0;
while (*ptr ==' ' )
{
++ptr;
}
if (*ptr == '+' || *ptr == '-')
{
sign = (*ptr == "-") ? -1 : 1;
++ptr;
}
while (*ptr >= '0' && *ptr <= '9')
{
value = value * 10 + (*ptr) - '0';
ptr++;
}
power = 1;
if (*ptr == '.')
{
++ptr;
while (*ptr >= '0' && *ptr <= '9')
{
value = value * 10 + (*ptr) - '0';
power *= 10;
ptr++;
}
}
return sign*value / power;
}
上一篇:武汉C++培训:智能指针的简单实现
下一篇:武汉C++培训:注释转换
选择城市和中心
贵州省

广西省

海南省