String 和 Date、其他基本类型的转换问题 [ C++、JAVA、ASP.NET(C#) ]

编程语言


C++

  • string 转 char*
     使用方法string.c_str()
 string s = "153";
 char* c = s.c_str();
  • string 转 int、float、double
     使用函数stoi(string)、stol(string)、 stof(string)、stod(string)
#include <iostream>
#include <string>
using namespace std;
int main()
{
	string s = "153";
	char* c;	int i;	double d;
	
	/* string 类型分别与其他类型进行转化 */
	c = s.c_str();       
	i = stoi(s);
	d = stod(s);
	
	cout << s <<" "<< c <<" "<< i <<" "<< d << endl;            /* 输出 */
	return 0;
} 
  • 基本类型 转 string
     使用方法 to_string(val)
void TypeConvert()
{
	/* 其他基本类型 */
    int i = 5;	double d = 3.14;	
    char *p = "helloworld";		string s;
       
    cout << to_string(i) <<" "<< to_string(d) << endl;   
    s = p;	cout << s << endl;		/* char* 类型直接赋值 */
    
}

Java

  • String 转 int、double
/* String 转成 int 、 double 的两种方法 */
 String s = "123456";

 int i =Integer.valueOf(s).intValue();      Double d = Double.valueOf(s).doubleValue();

 int i1 = Integer.parseInt(s);         Double d1 = Double.parseDouble(s);

 System.out.println("%d %d",i,i1);
 System.out.println("%lf %lf",d,d1);
  • 基本类型 转 String
/* 基本类型 转成 string 的三种方法 */
 int i = 123456;
 
 String s1 = String.valueOf(i);       
 String s2 = Integer.toString(i);     
 String s3 = ""+i;                  
          
 System.out.println(s1+" "+s2+" "+s3);
  • String 和 char[]
/* String 和 char[] 的相互转换 */
 char[] array = {'a', 'b', 'c'};
 
 String str = new String(array);      /* 构造 String 时转换 */
 String string = String.valueOf(array);      /* 利用 String 类的方法转换 */
 
 String s = “abcdefghijk” ;
 char [] strArr = s.toCharArray(); //String类的toCharArray()方法,返回值是char数组

  • String 和 Date类
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
SimpleDateFormat sdf = new SimpleDateFormat("dd/M/yyyy");      
SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分ss秒");

/* 将Date转换成String sdf.format */           
Date date = new Date();
String today = sdf.format(date);
System.out.println(today);
/* 输出:2021年10月01日 21时00分45秒 */
     
/* 将String转换成Date sdf.parse */
/* 在把一个字符串解析为日期的时候,注意格式必须和给定的字符串格式匹配 */
String  dateInString = today;
Date newDate = null;
try {
	newDate = sdf.parse(dateInString);
} catch (ParseException e) {
     
}
System.out.println(newDate);
/* 输出:Fri Oct 01 14:31:04 CST 2021 */

Asp.Net(C#)

  • int、double 转 string
     用 toString 或者 Convert.toString()
 int varInt = 1; double dB = 3.1415;
 string varString = Convert.ToString(varInt); 	string strA = Convert.ToString(dB);
  
 string varString2 = varInt.ToString();		string varString2 = dB.ToString();
  • string 转 int、double
     用 int.Parse/int.TryParse(string s, out int result) 或者 Convert.ToInt
    使用int.Parse方法实现转换,通常需要额外捕获并处理转换时发生的异常
    使用int.TryParse方法,不需要处理额外处理转换时发生的异常:
  string s = "18";
  int a1 = int.Parse(s);	Double db = Double.Parse(s); 
  inta2;	int.TryParse(s, out a2);
  int a3 = Convert.ToInt32(s);	Double db1 =Convert.ToDouble(s); 
  • string 和 DateTime
/* string 转 DateTime */
/* Convert.ToDateTime(string) 注意:此时 string 格式要求,必须是yyyy-MM-dd hh:mm:ss */
DateTime dt = Convert.ToDateTime("2019-08-26 12:40:59");   
/* DateTime 转 string  */
String dtStr = dt.ToString("yyyy-MM-dd HH:mm:ss")    

/* Convert.ToDateTime(string, IFormatProvider) 注意:此时 string 可自定义规则 */
DateTimeFormatInfo dtFormat = new System.GlobalizationDateTimeFormatInfo();
dtFormat.ShortDatePattern = "yyyy/MM/dd";
DateTime  dt = Convert.ToDateTime("2020/12/13", dtFormat);
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值