如何将char类型转换成int类型?
1、把char型转换成int类型。
for(int i=0;i<str.length();i++)
{
char temp_char=str.charAt(i);
//把字符转换成数字方法一
int temp_int=temp_char-'0';
//把字符转换成数字方法二
int temp_int=Integer.parseInt(String.valueOf(temp_char));
}
第一种办法:通过charAt(i),把字符串的每位变成char型,然后用当前字符减去字符0(temp_char-'0'),得到当前字符的int值。
第二种办法:把字符再转成字符串,然后再强制转换成int型。
2、把字符串拆分成一位一位的
第一种方法:循环后charAt(i);
注意:charAt(i)得到的是字符串对应的每位字符,可是不能直接转成int,转成int依然是ASCII值。
第二种方法:char[]temp=str.toCharArray();
注意:char[]里的内容不是字符串的每位字符,而是每位字符的ASCII值。
具体如下:
package cjl;
import java.util.Scanner;
/**
一维码有一种编码是ean13,是一串13位数字。其中第13位是校验码,作用是校验前面12个数字是否正确。
校验方法如下:
1、前12位数字从左起,将所有的奇数位相加得出一个数a,将所有的偶数位相加得出一个数b
2、将数b乘以3再与a相加得到数c
3、用10减去数c的个位数,如果结果不为10则校验码为结果本身,如果为10则校验码为0
请在控制台任意输入一个12位数字,然后输出校验码
author ff
/
public class CheckCode{
public void checkCode(String str)
{
int checkCode=0;
int a=0;//奇数位的和
int b=0;//偶数位的和
for(int i=0;i<str.length();i++)
{
char temp_char=str.charAt(i);
//把字符转换成数字方法一
int temp_int=temp_char-'0';
//把字符转换成数字方法二
//int temp_int=Integer.parseInt(String.valueOf(temp_char));
//System.out.println("temp_char="+temp_char);
//System.out.println("temp__int="+temp_int);
if((i+1)%2==0)//偶数位
{
b+=(int)temp_int;
}
else//奇数位
{
a=a+(int)temp_int;
}
}
int c=a+b*3;
int c_gw=c%10;
int d=10-c_gw;
//System.out.println("a="+a+"b="+b+"c="+c+"c_gw="+c_gw+"d="+d);
if(d==10)
{
checkCode=0;
}
else
{
checkCode=d;
}
System.out.println("checkCode="+checkCode);
}
public void Input()
{
while(true){
Scanner scanner=new Scanner(System.in);
System.out.println("请输入一个12位的数字。。。。。。");
String str=scanner.nextLine();
if((str.length()==12)&&(str.matches("[0-9]+")))
{
checkCode(str);
break;
}
}
}
/**
param args
/
public static void main(String[]args){
CheckCode codeVo=new CheckCode();
codeVo.Input();
}
}
运行结果:
请输入一个12位的数字。。。。。。
111111111111
checkCode=6
扩展资料:
char是计算机编程语言(c、c++、java、VFP等)中可容纳单个字符的一种基本数据类型。
char是一个数据类型,作用是定义字符型变量(单个或是字符串)。
比方int是整形数据,int a=3;这里int是类型,a是整型变量,3是赋值;
char s='A';char是字符类型,s是字符型变量,A是赋值给变量s;
char s[]="c program";char是字符类型,s[]是字符型数组,"c program"是赋给数组的值。
绛旓細瀛楃涓杞垚鏁村瀷鍙互浣跨敤atoi鍑芥暟銆傚嚱鏁板師鍨嬶細int atoi(const char *nptr);鍔熻兘锛氭妸瀛楃涓杞崲鎴鏁村瀷鏁般傚弬鏁皀ptr瀛楃涓诧紝濡傛灉绗竴涓潪绌烘牸瀛楃瀛樺湪锛屾槸鏁板瓧鎴栬呮璐熷彿鍒欏紑濮嬪仛绫诲瀷杞崲锛屼箣鍚庢娴嬪埌闈炴暟瀛(鍖呮嫭缁撴潫绗 \0) 瀛楃鏃跺仠姝㈣浆鎹紝杩斿洖鏁村瀷鏁般傚惁鍒欙紝杩斿洖闆躲
绛旓細cha鍜宺int鏁扮粍杞崲锛屼緥锛歩ntI[2]={1,2} charc[2]={1,2} 涓よ呰浆鎹唬鐮侊細inta[2]={1,2};charc[2];for(inti=0;i<2;i++)c[i]=a[i];Int鏄皢涓涓暟鍊煎悜涓嬪彇鏁涓鏈鎺ヨ繎鐨勬暣鏁扮殑鍑芥暟锛屼负鍙栨暣鍑芥暟銆
绛旓細c#杩欐牱鎶奵har杞崲鎴恑nt锛氫緥濡傦細int a=Convert.ToInt32(char)锛岃繖涓槸鏈鏅氱殑杞崲锛屽嵆鎶婂瓧绗︿覆锛堝瓧绗︼級绫诲瀷鐨勬暟瀛杞崲涓篿nt绫诲瀷锛沜har a = 'b;int b = (int)a;杩欐牱寰楀埌鐨勭粨鏋滃氨鏄98锛屾槸瀛楃b锛堝皬鍐欙級鍦╝scii鐮佷腑瀵瑰簲鐨勫笺1銆丆 C#鏄井杞叕鍙稿彂甯冪殑涓绉嶉潰鍚戝璞$殑銆佽繍琛屼簬.NET Framework涔嬩笂...
绛旓細浠 char 鍒 int 灞炰簬鈥滀粠鐭埌闀库濈殑杞崲锛岃屼粠 int 鍒 char 鍒欎负鈥滀粠闀垮埌鐭濈殑杞崲銆傜煭鍒伴暱鏃讹紝绯荤粺浼氳嚜鍔ㄦ彁鍗囷紝浼氬皢1涓瓧鑺傜殑char绫诲瀷鏁版嵁鎵╁厖鍒4涓瓧鑺(32浣嶇郴缁)锛屽浜庢棤绗﹀彿绫诲瀷鏉ヨ锛屽彧灏唅nt鐨勬渶浣庡瓧鑺傚鍒朵负char鐨勫硷紝鍏朵綑涓変釜瀛楄妭閮戒负0銆傞暱鍒扮煭鏃讹紝鍙皢int鐨勬渶浣庡瓧鑺傜殑鍐呭澶嶅埗鍒...
绛旓細渚嬪锛 (double) a 鎶奱杞崲涓哄弻绮惧害娴偣鍨嬶紝(int)(x+y) 鎶妜+y鐨勭粨鏋滆浆鎹负鏁村瀷銆2銆佽嚜鍔ㄧ被鍨嬭浆鎹 锛1锛夋墽琛岀畻鏈繍绠楁椂锛屼綆绫诲瀷(鐭瓧鑺)鍙互杞崲涓洪珮绫诲瀷(闀垮瓧鑺)锛涗緥濡傦細 int鍨嬭浆鎹㈡垚double鍨嬶紝char鍨嬭浆鎹㈡垚int鍨绛夈傦紙2锛夎祴鍊艰〃杈惧紡涓紝绛夊彿鍙宠竟琛ㄨ揪寮忕殑鍊肩殑绫诲瀷鑷姩闅愬紡鍦拌浆鎹负宸﹁竟鍙橀噺鐨...
绛旓細涔熷氨鏄痑="123")鎵璋揳="123"锛岃繖鏄笉鍙兘鐨勶紙杩欎釜瀛楃涓查渶瑕4涓瓧鑺傛墠鑳戒繚瀛橈紝鑰宎鍙湁涓涓瓧鑺傦級銆傚鏋滄槸char a;a=123;鍒檃涓繚瀛樼殑鏄竴涓瓧绗︾殑ASCII鍊硷紝鍗砤鐨勫兼槸涓涓瓧绗︼紙涔熷氨鏄瓧绗'{'锛夈傚鏋滄兂瑕佽瀹杞崲涓篿nt鍨鐨123锛屾槸闈炲父鏂逛究鐨勩俰nt b=a;灏卞彲浠ヤ簡銆
绛旓細char a='1';char base='0';int i = (int)a - (int)base;//鍙互绠鍗曠偣鍐欎竴涓畯#define ATOI(X) ( (X) - 30)鍘熺悊灏辨槸瀛楃鍨瀹為檯鏄瓨鍌ㄧ殑鏁存暟锛屽叿浣撴暟鍊煎彲鏌SCII琛紝鑰屾暟瀛0-9鐨凙SCII鏄浉閭荤殑锛屾暟瀛楀瓧绗﹂氳繃鍑忓幓鍩虹鐨'0'鐨凙SCII鐮佸硷紝灏辫兘寰楀埌瀵瑰簲鐨勫瓧绗︿唬琛ㄧ殑瀹為檯鏁板瓧锛岀劧鍚庤祴鍊肩粰...
绛旓細寮哄埗杞崲(int)(char a)鍗虫妸瀛楃鍨嬫暟鎹產寮哄埗杞崲鎴浜int鍨嬫暟鎹浜嗭紝鍦255鍐呭瓧绗﹀瀷鐨勫拰int鍨嬬殑鏄彲浠ラ氱敤鐨勶紝渚嬪a-32=65锛宎鐨凙SCII鐮佸间负97.
绛旓細鍐呭涓烘暟瀛楃殑char锛屽寘鍚 0,1,2,3,4,5,6,7,8,9 鍏辫10涓瓧绗︺傝繖鍗佷釜瀛楃鍦ㄥ瓨涓哄瓧绗﹀瀷鏃讹紝鍏跺瓨鍌ㄥ间负瀵瑰簲鐨刟scii鐮侊紝鑰岃繖浜沘scii鐮佹槸杩炵画鐨勶紝涓旀寜鐓у叾鏈韩鏁板瓧鐨勫ぇ灏忔潵鎺掑垪銆傝繖鏍峰氨鍙互灏嗗瓧绗﹀硷紝鍑忓幓璧峰ascii鐮佸煎疄鐜杞负瀵瑰簲鍊肩殑鏁堟灉銆傝 int a; //杞崲鐨勭洰鏍囧彉閲忋俢har c = '7'; /...
绛旓細int a='key'-'0'灏哻har 瀛楃杞崲涓 ASCII鐮 鍑忓幓0鐨 ASCII鐮 瀹冧滑鐨勫樊鍊煎氨鏄痠nt 鍨鐨勬暟鍊