C/C++基本问题:字符串转化为long型数字

Posted

tags:

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

一个以'\0'结尾的11位字符串,都是数字字符,将其转化为Long型的数并返回 用VC作。

#include <string.h>
#include <stdio.h>
int main( int argc, char** argv )

/** 字符串转数字 */
char* str = "123456";
/** atol is ascii to long.
* atof is ascii to float.
*/
long num = atol(str);
printf("String %s trans to number %ld.\\n",str, num);
return 0;

参考技术A 有现成的函数,atol

函数名: atol
功 能: 把字符串转换成长整型数
long l;
char *str = "98765432";
l = atol(str);
参考技术B #include <stdio.h>

__int64 str2long( char* s )

__int64 n = 0;
while ( *s )
n *= 10;
n += *s - '0';
++s;

return n;


int main()

printf( "%I64d\n", str2long( "123456578912" ) );

如何将有符号的long型转换成无符号的long型

参考技术A java里面将long类型的数据转换成无符号的int数据方式如下:
一、强制类型转换
long ll = 300000;
int ii = (int)ll;
二、调用intValue()方法
long ll = 300000;
int ii= new Long(ll).intValue();
三、先把long转换成字符串String,然后在转行成Integer
long ll = 300000;
int ii = Integer.parseInt(String.valueOf(ll));本回答被提问者采纳

以上是关于C/C++基本问题:字符串转化为long型数字的主要内容,如果未能解决你的问题,请参考以下文章

int 与long int类型转换

C++ 中有没有 LONG转化STRING STRING 转化LONG 的库函数

在C/C++里,long long型的范围是多少,输入输出格式是啥?

java中将一个double类型的数强制转换为long 型是四舍五入吗?

java中将一个double类型的数强制转换为long 型是四舍五入吗?

c/c++转化为XML存储????