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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了字符串转浮点数 字符串转整型数相关的知识,希望对你有一定的参考价值。

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

本文出自 “fun” 博客,请务必保留此出处http://10725723.blog.51cto.com/10715723/1758174

以上是关于字符串转浮点数 字符串转整型数的主要内容,如果未能解决你的问题,请参考以下文章

C语言中关于字符串转整型?

从错误中学python————字符串转浮点数

整型数与浮点数在内存中的表示

c语言、浮点数怎么变成16进制

js类型转换-字符串转整型浮点型方法强制类型转换等

Abplc浮点数怎么传给4个字节