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

#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;
}
时间: 2024-12-18 12:59:14

字符串转浮点数 字符串转整型数的相关文章

Java 判断是否为汉字 判断是否为乱码 判断字符串是否为双整型数字 整数 数字

/**  * 判断是否为汉字  *   * @param str  * @return  */ public static boolean isGBK(String str) {  char[] chars = str.toCharArray();  boolean isGBK = false;  for (int i = 0; i < chars.length; i++) {   byte[] bytes = ("" + chars[i]).getBytes();   if (

leetcode——String to Integer (atoi) 字符串转换为整型数(AC)

mnesia在频繁操作数据的过程可能会报错:** WARNING ** Mnesia is overloaded: {dump_log, write_threshold},可以看出,mnesia应该是过载了.这个警告在mnesia dump操作会发生这个问题,表类型为disc_only_copies .disc_copies都可能会发生. 如何重现这个问题,例子的场景是多个进程同时在不断地mnesia:dirty_write/2 mnesia过载分析 1.抛出警告是在mnesia 增加dump

【算法和数据结构】_16_小算法_IntToStr: 将整型数据转换为字符串

1 /* 2 IntToStr: 将整型数据转换为字符串 3 */ 4 5 #include <stdio.h> 6 7 8 void int_to_str(const unsigned long int i_number, char *str); 9 10 int main(int argc,char*argv[]) 11 { 12 unsigned long int i_test; 13 char str[16]; 14 15 i_test=1234567; 16 int_to_str(i

字符串转换为相应的整型数

#if 0/*字符串转换为相应的整型数*/int myatoi(const char s[]){    int i,n=0;    for (i=0;s[i]>='0'&&s[i]<='9';i++)    {        n=10*n+(s[i]-'0');    /*(s[i]-'0')能够计算出s[i]中存储的字符所对应的数字值*/    }    return n;}

php笔记03:布尔类型,字符串,浮点数

1.布尔类型 下面情况都是看出false: 布尔类型FALSE自身 整型值为0 浮点型值为0.0 空字符串,以及字符串"0" 不包含任何元素的数组 不包含任何成员变量的对象(仅PHP 4.0) 特殊类型NULL(包括尚未设定的变量) 2.浮点数 浮点数的案例: $a = 0.23456789022222988; echo $a; //0.23456789022223 这是浏览器的反映的结果,这是因为php浮点数的精度为14位有效数字 3.字符串中单引号''和双引号" &quo

C++如何去除浮点数字符串后面的零

有时我们需要将浮点数转化为字符,然后打印输出.下面是c++的里的一种实现: char str[32]; double num = 32.0100; sprintf(str, "%f", num); std::cout<<str<<std::endl; 常见输出: 32.0100 但是,有时我们会有这样的需求:舍弃字符串最后多余的零. 我最近就遇到了这种需求,各处求解,最后通过网上案例的启发,想到了两种解决方案. 方案1: 创建一个函数removeLastZero

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

落下的基础还是要早点补起来的... 整型数在内存中存储 正整数 以int a = 25为例 1.      将a用2进制表示 (25)10 = (11001)2 因为int型在内存中占4个字节,也就是32位,实际是 (0000 0000 0000 0000 0000 0000 0001 1001) 2.      用16位表示 (0 0 0 0 0 0 19) à(00 00 00 19) 在内存中低地址在高位,也就是 19 00 00 00 负整数 以int b = -25为例 1.    将

php对浮点数小数取整,php除法取整数

如果我们使用" / "操作符进行除法运算时,如果遇到无法除尽的情况,会得到小数值.如果我只希望得到整数部分,怎么办呢? 1.round — 对浮点数进行四舍五入 float round ( float $val [, int $precision ] ) 返回将 val 根据指定精度 precision(十进制小数点后数字的数目)进行四舍五入的结果.precision 也可以是负数或零(默认值).//Example #1 round() 例子 [php] view plaincopyp

Android 发送全4位的int整型数据到服务器困惑

在App开发中常使用json与服务器Socket请求和解析服务器返回的数据. 为了确保在网络传输过程中没有丢失数据,一般会在发送请求数据前先发送把数据的长度发送到服务器.但数据的长度是需要发送全4位整型数据到服务器. 举个例子:使用手机号码和验证码登录 发送请求body为:{"cmd":"login","username":"ceshi","code":"123456"} 则数据的长度为