字符串转换_怎样把控制台输出的一串字符转换成字符串存在字符串里面 - CSDN
  • 使用itoa将整数转换字符串 int main() { //char* itoa(int value,char* string,int base); //int value 被转换的整数 char* string 转换的后的字符数组 int base 转换进制数 int num = 12345678; char str[12]...

    一.使用itoa将整形转换为字符串

    int main()
    {
    	//char* itoa(int value,char* string,int base);
    	//int value  被转换的整数    char* string  转换的后的字符数组  int base  转换进制数
    	int num = 12345678;
    	char str[12];
    	_itoa(num, str, 10);
    	cout << "转换后的字符串:" << str << endl;
    	system("pause");
    	return 0;
    }
    

    二.不使用itoa将整形转换为字符串

    思路:使用字符0,再逆序,整数加’0‘就会转换为相应的字符类型

    int main()
    {
    	int num = 12345;
    	int i = 0;
    	int j = 0;
    	char str[7];
    	char ppy[7];
    	while (num)
    	{
    		str[i] = num % 10 + '0';    //转换为字符
    		++i;
    		num = num / 10;
    	}
    	str[i] = 0;    //防止越界
    	cout << "逆序的字符串:"<<str << endl;
    	i = i - 1;
    	while (i >= 0)
    	{
    		ppy[j] = str[i];
    		--i;
    		++j;
    	}
    	ppy[j] = 0;
    	cout << "转换后的正确字符串:" << ppy << endl;
    	system("pause");
    	return 0;
    }

    三.不使用atoi将字符串转换为整形

    思路:可以采用减’0‘再乘10累加的办法,字符减’0‘即转换为相应整形

    int main()
    {
    	int num = 0;
    	char str[] = "12345678";
    	int i = 0;
    	while (str[i])
    	{
    		num = num * 10 + (str[i] - '0');
    		++i;
    	}
    	cout << "转换后的整形:" << num << endl;
    	system("pause");
    	return 0;
    }


    四.使用atoi将字符串转换为整形

    //int atoi(const char * str);
    //char* str   要转换的目标字符串
    int main()
    {
    	char str[] = "123456";
    	int num = atoi(str);
    	cout << "转换后的整形:" << num << endl;
    	system("pause");
    	return 0;
    }


    展开全文
  • 一、字符数组to字符串 直接声明   char[] c={'a', 'b', 'c'}; String s = new String(c); 二、字符串数组to字符串 string是不可变类——利用StringBuffer String[ ] str = {"abc", "dfe&...

    一、字符数组to字符串

    直接声明
     

    char[]  c={'a', 'b', 'c'};
    
    String s = new String(c);

    二、字符串数组to字符串

    string是不可变类——利用StringBuffer

    String[ ]  str = {"abc", "dfe", "hij"};
    
    StringBuffer sb = new StringBuffer();
    
    for(int i = 0; i < str.length;i++){
    
      sb.append(str[i]);
    
    }
    
    String s = sb.toString();

     

    展开全文
  • 在js读取文本框或者其它表单数据的时候获得的值是字符串类型的,例如两个文本框a和b,如果获得a的value值为11,b的value值为9 ,那么a.value要小于b.value,因为他们都是字符串形式的.在网上找了一下js字符串转数字的文章...
    在js读取文本框或者其它表单数据的时候获得的值是字符串类型的,例如两个文本框a和b,如果获得a的value值为11,b的value值为9 ,那么a.value要小于b.value,因为他们都是字符串形式的.在网上找了一下js字符串转数字的文章,这个比较全

    方法主要有三种

    转换函数、强制类型转换、利用js变量弱类型转换。

    1. 转换函数:

    js提供了parseInt()和parseFloat()两个转换函数。前者把值转换成整数,后者把值转换成浮点数。只有对String类型调用这些方法,这两个函数才能正确运行;对其他类型返回的都是NaN(Not a Number)。

    一些示例如下:

    复制代码 代码如下:

    parseInt("1234blue"); //returns 1234
    parseInt("0xA"); //returns 10
    parseInt("22.5"); //returns 22
    parseInt("blue"); //returns NaN

    parseInt()方法还有基模式,可以把二进制、八进制、十六进制或其他任何进制的字符串转换成整数。基是由parseInt()方法的第二个参数指定的,示例如下:

    复制代码 代码如下:

    parseInt("AF", 16); //returns 175
    parseInt("10", 2); //returns 2
    parseInt("10", 8); //returns 8
    parseInt("10", 10); //returns 10

    如果十进制数包含前导0,那么最好采用基数10,这样才不会意外地得到八进制的值。例如:

    复制代码 代码如下:

    parseInt("010"); //returns 8
    parseInt("010", 8); //returns 8
    parseInt("010", 10); //returns 10

    parseFloat()方法与parseInt()方法的处理方式相似。
    使用parseFloat()方法的另一不同之处在于,字符串必须以十进制形式表示浮点数,parseFloat()没有基模式。

    下面是使用parseFloat()方法的示例:

    复制代码 代码如下:

    parseFloat("1234blue"); //returns 1234.0
    parseFloat("0xA"); //returns NaN
    parseFloat("22.5"); //returns 22.5
    parseFloat("22.34.5"); //returns 22.34
    parseFloat("0908"); //returns 908
    parseFloat("blue"); //returns NaN

    2. 强制类型转换

    还可使用强制类型转换(type casting)处理转换值的类型。使用强制类型转换可以访问特定的值,即使它是另一种类型的。
    ECMAScript中可用的3种强制类型转换如下:
    Boolean(value)——把给定的值转换成Boolean型;
    Number(value)——把给定的值转换成数字(可以是整数或浮点数);
    String(value)——把给定的值转换成字符串。
    用这三个函数之一转换值,将创建一个新值,存放由原始值直接转换成的值。这会造成意想不到的后果。
    当要转换的值是至少有一个字符的字符串、非0数字或对象(下一节将讨论这一点)时,Boolean()函数将返回true。如果该值是空字符串、数字0、undefined或null,它将返回false。

    可以用下面的代码段测试Boolean型的强制类型转换。

    复制代码 代码如下:

    Boolean(""); //false – empty string
    Boolean("hi"); //true – non-empty string
    Boolean(100); //true – non-zero number
    Boolean(null); //false - null
    Boolean(0); //false - zero
    Boolean(new Object()); //true – object

    Number()的强制类型转换与parseInt()和parseFloat()方法的处理方式相似,只是它转换的是整个值,而不是部分值。示例如下:

    复制代码 代码如下:

    用  法 结  果
    Number(false) 0
    Number(true) 1
    Number(undefined) NaN
    Number(null) 0
    Number( "5.5 ") 5.5
    Number( "56 ") 56
    Number( "5.6.7 ") NaN
    Number(new Object()) NaN
    Number(100) 100

    最后一种强制类型转换方法String()是最简单的,示例如下:

    复制代码 代码如下:

    var s1 = String(null); //"null"
    var oNull = null;
    var s2 = oNull.toString(); //won't work, causes an error

    3. 利用js变量弱类型转换

    举个小例子,一看,就会明白了。

    复制代码 代码如下:

    <script>
    var str= '012.345 ';
    var x = str-0;
    x = x*1;
    </script>

    上例利用了js的弱类型的特点,只进行了算术运算,实现了字符串到数字的类型转换,不过这个方法还是不推荐的


    展开全文
  • 题目:字符串转换为整数。注意事项(思考点):(1)字符串中包含有非数字字符;(2)字符串中包含正负符号;(3)考虑最大的正整数;(4)考虑最小的负整数;(4)溢出。开始时我的想法只考虑了第一,第二种情况:/...

    题目:字符串转换为整数。

    思路:将字符串转化为整数首先是遍历字符串中的每一个字符,有三种情况:首字符是正号,首字符是负号,首字符非正负号;然后遍历每一个字符进行num = num * 10 + charArray[i] - '0',在进行这个工作之前首先需要对charArray[i]进行是否为数字字符的判断,循环遍历直到结束,输出结果;

    注意事项(思考点):(1)字符串中包含有非数字字符;(2)字符串中包含正负符号;(3)考虑最大的正整数;(4)考虑最小的负整数;(4)溢出。

    开始时我的想法只考虑了第一,第二种情况:

    /**
     * 将字符串转换为整数 1:非数字字符 2:正负号 
     * @author Peter
     */
    public class Main {
    	public static void main(String[] args) {
    		Scanner sc = new Scanner(System.in);
    		String str = sc.nextLine();
    		int length = str.length();
    		int number = 0;
    		char[] charArray = str.toCharArray();
    		if (charArray[0] == '-') {
    			for (int i = 1; i < length; i++) {
    				if (charArray[i] > '9' || charArray[i] < '0') {
    					System.out.println("输入的字符串中包含非数字字符");
    					return;
    				} else {
    					number = number * 10 + charArray[i] - '0';
    				}
    			}
    			System.out.println(-number);
    		} else if (charArray[0] == '+') {
    			for (int i = 1; i < length; i++) {
    				if (charArray[i] > '9' || charArray[i] < '0') {
    					System.out.println("输入的字符串中包含非数字字符");
    					return;
    				} else {
    					number = number * 10 + charArray[i] - '0';
    				}
    			}
    			System.out.println(number);
    		} else {
    			for (int i = 0; i < length; i++) {
    				if (charArray[i] > '9' || charArray[i] < '0') {
    					System.out.println("输入的字符串中包含非数字字符");
    					return;
    				} else {
    					number = number * 10 + charArray[i] - '0';
    				}
    			}
    			System.out.println(number);
    		}
    	}
    }

    源码(考虑了上面所有情况):

    package com.chap01.offer01;
    
    import java.util.Scanner;
    
    /**
     * 字符串转整形源码
     */
    public class Main1 {
    
    	/**
    	 * 将字符串转化为整形
    	 * @param s
    	 * @return
    	 * @throws NumberFormatException
    	 */
    	public static int parseInt(String s) throws NumberFormatException {
    		return parseInt(s, 10);
    	}
    	
    	/**
    	 * 将字符串转化为整形,其中radix代表基数,即代表你输入的是几进制的字符串。
    	 * @param s
    	 * @param radix
    	 * @return
    	 * @throws NumberFormatException
    	 */
    	public static int parseInt(String s, int radix)
    			throws NumberFormatException {
    		/*
    		 * WARNING: This method may be invoked early during VM initialization
    		 * before IntegerCache is initialized. Care must be taken to not use the
    		 * valueOf method.
    		 */
    		
    		//判断是否为空
    		if (s == null) {
    			throw new NumberFormatException("null");
    		}
    		
    		//判断不能小于2进制
    		if (radix < Character.MIN_RADIX) {
    			throw new NumberFormatException("radix " + radix
    					+ " less than Character.MIN_RADIX");
    		}
    
    		//判断不能大于36进制 0-9,a-z一共36进制
    		if (radix > Character.MAX_RADIX) {
    			throw new NumberFormatException("radix " + radix
    					+ " greater than Character.MAX_RADIX");
    		}
    
    		int result = 0;
    		boolean negative = false;
    		int i = 0, len = s.length();
    		int limit = -Integer.MAX_VALUE;  //-0x7fffffff即:-2147483647 
    		int multmin;
    		int digit;
    
    		if (len > 0) {
    			char firstChar = s.charAt(0);  //取首字符
    			if (firstChar < '0') { // Possible leading "+" or "-"
    				if (firstChar == '-') {
    					negative = true;
    					limit = Integer.MIN_VALUE;  //0x80000000
    				} else if (firstChar != '+')
    					throw NumberFormatException.forInputString(s);
    
    				if (len == 1) // Cannot have lone "+" or "-"
    					throw NumberFormatException.forInputString(s);
    				i++;
    			}
    			multmin = limit / radix;  //-214748364
    			while (i < len) {
    				// Accumulating negatively avoids surprises near MAX_VALUE
    				digit = Character.digit(s.charAt(i++), radix);  //返回指定基数的数值
    				if (digit < 0) {
    					throw NumberFormatException.forInputString(s);
    				}
    				if (result < multmin) {
    					throw NumberFormatException.forInputString(s);
    				}
    				result *= radix;  //字符abc: a*100 + b*10 + c
    				if (result < limit + digit) {
    					throw NumberFormatException.forInputString(s);
    				}
    				result -= digit;
    			}
    		} else {
    			throw NumberFormatException.forInputString(s);
    		}
    
    		return negative ? result : -result;
    	}
    	
    	public static void main(String[] args){
    		Scanner sc = new Scanner(System.in);
    		String str = sc.nextLine();
    		int num = parseInt(str);
    		System.out.println(num);
    	}
    }
    
    package com.chap01.offer01;
    //异常类
    public class NumberFormatException extends IllegalArgumentException {
    	static final long serialVersionUID = -2848938806368998894L;
    
    	/**
    	 * Constructs a <code>NumberFormatException</code> with no detail message.
    	 */
    	public NumberFormatException() {
    		super();
    	}
    
    	/**
    	 * Constructs a <code>NumberFormatException</code> with the specified detail
    	 * message.
    	 * 
    	 * @param s
    	 *            the detail message.
    	 */
    	public NumberFormatException(String s) {
    		super(s);
    	}
    
    	/**
    	 * Factory method for making a <code>NumberFormatException</code> given the
    	 * specified input which caused the error.
    	 * 
    	 * @param s
    	 *            the input causing the error
    	 */
    	static NumberFormatException forInputString(String s) {
    		return new NumberFormatException("For input string: \"" + s + "\"");
    	}
    }


    展开全文
  • js字符串转数字

    2019-05-27 15:35:32
    首先,介绍两种方法 ...如果参数不是一个字符串,则将其转换字符串(使用 toString)(这也是为什么string输入的是数字如12,也能正确解析的原因)。字符串开头的空白符将会被忽略。 radix 一个介于2和36之间...
  • 在串口传递数据的时候数据格式是16进制的,但是存下来的数据为了方便查看,用字符串存储下来了。例如串口传递的数据是0xAA 0xBB 0xCC,存储下来的文件为AABBCC,这样存储带来的问题就是无法直接通过串口再发送出去,...
  • 首先推荐用用C++的stringstream。...数字转字符串,int float类型 同理#include #include <sstream>int main(){ double a = 123.32; string res; stringstream ss; ss ; ss >> res;//或者 res =
  • 字符串转化

    2019-08-11 01:48:30
    字符串转化 leetcode 第6场双周赛 题目 给出两个长度相同的字符串,分别是 str1 和 str2。请你帮忙判断字符串 str1 能不能在 零次 或 多次 转化后变成字符串 str2。 每一次转化时,将会一次性将 str1 中出现的 所有...
  • 总结一起,方便需要时查阅,备不时之需。  实践出真知,无论怎么讲函数的参数都是白搭,其实代码会说话,所以遇到问题还是多上代码。...3.1 字符串转换为整型int、浮点数double  3.2 整型int转...
  • C语言提供了几个标准库函数,可以将字符串转换为任意类型(整型、长整型、浮点型等)的数字。以下是用atoi()函数将字符串转换为整数的一个例子:# include <stdio. h># include <stdlib. h>void main ...
  • 图片文件-----》字符串 :图片需要先读取成byte[] ,再使用BASE64将byte[] 编码后成为字符串字符串-----》图片文件 :先将字符串使用Base64解码得到byte[] ,然后写出成为文件;   package com.test; ...
  • 有时候需要把字符串转化为整型,在C语言中最简单的方法就是直接调用库函数,头文件#include<...strtod() 将字符串转换为双精度浮点型值,并报告不能被转换的所有剩余数字 strtol() 将字符串转换为...
  • 字符串转换为整型

    2019-07-21 17:43:28
    下面将字符串转换为不同类型整数,转换规则如下: 1、字符串前几位遇到空格忽略 2、若字符串第一位为负号,表示将这个字符串转换为对应进制的负数 3、若字符串前两位为0x,表示将这个字符串转换为16进制的数 4、若...
  • 字符串转化为字符数组: char[] ss=s.toCharArray();//s为要转化字符串 字符数组转化字符串: String s=""; for(int i=0;i<ss.length;i++){ s+=ss[i]; } 或 char ch={'1','2','3'}; String str=new ...
  • //字符串转换为字符串数组 string str= "A B C D E F"; //可根据字符串特点,用SPlit方法进行分割 string[] attr= str.Split(' '); //attr={"A","B","C","D","E","F"}//字符串转换为字节数组 string Msg = "你好123...
  • 字符串转换成整数

    2018-08-12 12:31:52
    将一个字符串转换成一个整数(实现Integer.valueOf(string)的功能,但是string不符合数字要求时返回0),要求不能使用字符串转换整数的库函数。 数值为0或者字符串不是一个合法的数值则返回0。 输入描述: 输入一个...
  • base = input("请输入要转换的字符串:") by = bytes(base,'UTF-8') #先将输入的字符串转化成字节码 hexstring = by.hex() #得到16进制字符...因为hex()函数只接受整数,所以可先将16进制字符串转换成整数: a = i...
  • 1.昨天想把字段DocDate由字符串转换成日期格式: 2.使用convert()函数出现报错: 3.导致这种报错情况出现的原因是DocDate字段又脏数据不是所有的数据都能转换: 4.进行筛选过后就能转换了: 解决这个...
  • 字符串转化json对象:var json = JSON.parse(str);var json = eval("(" + str + ")");var json = (new Function("return " + str))();通过console.log()将json打印到控制台,不管是...
  • sscanf(字符串转化为整数)和sprintf(整数转化字符串)都只适用于“123456”这种字符串 sscanf是将字符串转化为整数(或其它类型,这里用较为),格式为   sscanf(字符串的名字,"%d",整型变量的名字)...
1 2 3 4 5 ... 20
收藏数 1,539,713
精华内容 615,885
关键字:

字符串转换