字符串转化为数字
2019-03-24 14:12
120 查看
版权声明:未经同意不得转载 https://blog.csdn.net/qq_37496376/article/details/88776328
输入一个表示整数的字符串,把该字符串转化成整数并输出。例如输入字符串 “345”,则输出整数 345。
思路:依次扫描字符串,每扫描一个字符,把之前得到的数乘以10再加上当前字符表示的数字。
注意:
- 正负号问题
- 判断指针是否为空
- 溢出问题
- 输入的字符串中可能有不是数字的字符
#include <iostream> #include <stdlib.h> using namespace std; int strToNum(const char *str) { long long num = 0; if (str != NULL){ const char *digit = str; bool minus = false;//判断正负 if (*digit == '+'){ digit++; } else if (*digit == '-'){ minus = true; digit++; } while (*digit != '\0'){ if (*digit >= '0' && *digit <= '9'){ num = num * 10 + (*digit-'0'); if (num > numeric_limits<int>::max()){//越界处理 num = 0; break; } digit++; } else{ num = 0; break; } } if (minus){ num = 0 - num; } } return num; } void main() { char *str = (char *)malloc(sizeof(str)); cin >> str; cout << endl; long long num = strToNum(str); cout << "转化后的数字为:" << num << endl; system("pause"); }
相关文章推荐
- 将字符串或者数字转化成英文格式输出
- c++中stringstream 类的用法及字符串与数字之间转化
- 将数字转化为字符串
- JAVA字符串转化为数字(可以适合大部分)
- C语言中将字符串转化为数字的函数总结
- 不用库函数,用C语言实现将一整型数字转化为字符串
- 【C编程练习】2013华为校园招聘机试题目题5:将一个int类型的数字转化为字符串,并判断有无重复字符串(长度应大于2)有返回1,无返回2
- C++字符串转化为数字的库函数
- velocity 字符串 转化为数字
- 将数字转化为字符串
- ios 字符串和数字互相转化
- acm比赛中字符串和数字之间的转化的办法总结
- C/C++ 字符串与数字之间的转化
- C语言 编写一个c程序实现字符串到数字的转化
- 把数字转化成固定长度的字符串,如00004
- 16进制转化为八进制,字符串(很大的数字)
- 数字字符串转化字母字符串
- 【学习笔记】关于数字转化为字符串,字符串转化为数组。
- 整理用Java实现数字转化成字符串左边自动补零方法
- C++字符串转化为数字的库函数