Java教程

字符串转数字的算法

本文主要是介绍字符串转数字的算法,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

基本理念:

数字字符减去所对应的ASCII码值即对应的数值

代码解释很全面,详情请看代码

​
#include<iostream>
#include<string>
using namespace std;
double swap(char *str) {
	double x=0;
	int i = 0;
	//整数部分的转换
	while(str[i]>=48 && str[i]<=57) {
		x=x*10+str[i]-48; //字符0对应的ASCII码值为48
		i++;
	}
	//小数部分的转换
	if(str[i]=='.') {
		i++;
		double y=0;
		double j=10.0;
		while(str[i]>=48 && str[i]<=57) {
			y=y+(str[i]-48)/j;
			i++;
			j*=10;//小数点后面越来越小(逐渐小10倍)
		}
		x+=y;
	}
	return x;
}

int main()
{
	char str[20];
	cin.getline(str,20); //输入字符串
	//cin.get();  //吃掉一个回车键
	double a = swap(str);
	cout<<a<<endl;
	
	//若直接将字符串赋值给整型,则赋的值为ASCII码值
	int c = '1' - '1'; //可以进行运算(ASSCII码值的运算
	cout<<c<<endl; //输出为0
	return 0;
}

​

运行结果截图:

 

 

这篇关于字符串转数字的算法的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!