永发信息网

int型转化为string

答案:6  悬赏:60  手机版
解决时间 2021-04-12 18:44
  • 提问者网友:临风不自傲
  • 2021-04-12 02:47

=============================

int year;//4位 yyyy

int month;//2位 mm

string YearMonth;

//转化:将YearMonth里面的内容转化为yyyymm

=============================

举例说:如果year=2008; month=08;YearMonth=200808;

最佳答案
  • 五星知识达人网友:几近狂妄
  • 2021-04-12 04:22
#include <iostream>
#include <string>
#include <sstream>
#include <iomanip>
using namespace std;


int main()
{
int year;//4位 yyyy
int month;//2位 mm
string YearMonth;

year = 2008;
month = 8;
stringstream ss;
ss.fill('0');
ss << setw(4) << year << setw(2) << month;
YearMonth = ss.str();
cout << YearMonth << endl;
}


或者用sprintf格式化一下:

#include <iostream>
#include <string>
#include <cstdio>
using namespace std;


int main()
{
int year;//4位 yyyy
int month;//2位 mm
string YearMonth;
char a[100];
year = 2008;
month = 8;
sprintf( a, "%04d%02d", year, month );
YearMonth = a;
cout << YearMonth << endl;
}

#include <iostream>
#include <string>
using namespace std;


int main()
{
int year;//4位 yyyy
int month;//2位 mm
string YearMonth;
char a[100];
year = 2008;
month = 8;
YearMonth += itoa( year, a, 10 ); // itoa,不过这个函数并不通用,因为它不是标准库函数
YearMonth += '0';
YearMonth += itoa( month, a, 10 );
cout << YearMonth << endl;
}
全部回答
  • 1楼网友:第四晚心情
  • 2021-04-12 09:06

基本类型的转换可以进行隐式自动转换,int类型的数据调用ToString()并不能显示转换成string类型,所以可以利用系统的基本数据类型隐式转换来处理。

public static void Main(string[] args){ int year = 2009; //年份 int month = 11; //月份 String YearMonth = year + "" + month; //注意“”是实现隐式转换的关键! Console.WriteLine(YearMonth); //C#控制台打印(当然java中的处理也类似) }

  • 2楼网友:第幾種人
  • 2021-04-12 07:37

我并不知道你是要求用什么语言实现,所以先谈谈思路!

主要算法:用100+month,这样如果是9月份那么得到109(当然按照你的需求月份不可能会超过2位整数,所以100足够),再用字符串截取右边两位数,就解决你的需求了。

扩展性:如果日后你想得到更多的0,你只需要把100换成更大的数就OK了。

1.c# code:

int year;//4位 yyyy

int month;//2位 mm

string YearMonth;

YearMonth = year.tostring()+substring(Convert.Tostring(month+100),1,2);

2.vb.net code:

Dim year,month as Integer

string YearMonth = year&right(month+100,2);

满足你需求不?

  • 3楼网友:洒脱疯子
  • 2021-04-12 06:43

int year;//4位 yyyy

int month;//2位 mm

string YearMonth;

YearMonth = year+""+month;

  • 4楼网友:白昼之月
  • 2021-04-12 06:25
#include<stdio.h> int main() { int year,month,yearmonth; printf("输入年份:"); scanf("%d",&year); printf("\n输入月份:"); scanf("%d",&month); yearmonth=year*100+month; printf("\nyearmonth=%d",yearmonth); getchar();getchar(); return 1; }
  • 5楼网友:梦中风几里
  • 2021-04-12 05:26

条件:

year = 2008; month = 8;

第一种方法:(转换成日期后,进行格式化)

YearMonth = new DateTime(year, month, 1).ToString("yyyyMM");

第二种方法:(直接格式化,最低为两位的字符串,不足两位用0代替)

YearMonth = year.ToString("0000") + month.ToString("00");

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯