int与char[]的相互转换

一、itoa函数与atio函数

①把int类型数字转成char类型,可以使用itoa函数。

itoa函数原型:char*itoa(int value,char*string,int radix);int value 被转换的整数,char *string 转换后储存的字符数组,int radix 转换进制数,如2,8,10,16 进制等。

功能:将任意类型的数字转换为字符串。

②在<stdlib.h>中与之有相反功能的函数是atoi。

#include <stdlib.h>
#include <stdio.h>
int main()
{
    int number=123456;
    char string[25];
    itoa(number,string,10);
    printf("integer=%d string=%s\n",number,string);
    return 0;
}
/*运行结果:
integer=123456 string=123456
*/

二、sprintf函数

https://blog.csdn.net/nopoppy/article/details/52589745

sprintf函数可用于格式化数字字符串

在这点上sprintf和printf的用法一样,只是打印到的位置不同而已,前者打印给buffer字符串,后者打印给标准输出,所以sprintf也可以用来将整型转化为字符串,比itoa效率高且如此地简便~

比如:sprintf(buffer, "%d", 123456);执行后buffer即指向字符串“123456”~

 

1. Stringint: - 使用Integer.parseInt方法 ```java String str = "123"; int num = Integer.parseInt(str); ``` - 使用Integer.valueOf方法 ```java String str = "123"; Integer num = Integer.valueOf(str); int n = num.intValue(); ``` 2. intString: - 使用String.valueOf方法 ```java int num = 123; String str = String.valueOf(num); ``` - 使用Integer.toString方法 ```java int num = 123; String str = Integer.toString(num); ``` 3. charString: - 使用String.valueOf方法 ```java char c = 'a'; String str = String.valueOf(c); ``` - 将charchar数组,再使用String构造方法 ```java char c = 'a'; char[] arr = {c}; String str = new String(arr); ``` 4. Stringchar: - 使用String的charAt方法 ```java String str = "abc"; char c = str.charAt(0); ``` - 将Stringchar数组,再取第一个字符 ```java String str = "abc"; char[] arr = str.toCharArray(); char c = arr[0]; ``` 5. int数组List: - 使用Arrays.asList方法 ```java int[] nums = {1, 2, 3}; List<Integer> list = Arrays.asList(nums); ``` - 使用IntStream.of方法,再成List ```java int[] nums = {1, 2, 3}; List<Integer> list = IntStream.of(nums).boxed().collect(Collectors.toList()); ``` 6. Listint数组: - 使用Java 8的stream,再int数组 ```java List<Integer> list = Arrays.asList(1, 2, 3); int[] nums = list.stream().mapToInt(Integer::intValue).toArray(); ``` - 使用循环,逐个取出List中的元素,再添加到int数组中 ```java List<Integer> list = Arrays.asList(1, 2, 3); int[] nums = new int[list.size()]; for (int i = 0; i < list.size(); i++) { nums[i] = list.get(i); } ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值