整型和浮点型的相互转换
方式1::static_cast<type>(data)
int tia = static_cast<float>(1.234);cout<<"float 1.23 to int:"<<tia<<endl<<endl;
float tfa = static_cast<int>(2);cout<<"int 2 to float:"<<tfa<<endl<<endl;
方式2:强制装换 type(data)
int tib = int(3.1415);cout<<"float 3.1415 to int:"<<tib<<endl<<endl;
float tfb = float(4);cout<<"int 4 to float:"<<tfb<<endl<<endl;
整型和浮点型的与字符串之间的转换
字符串转整型和浮点型
字符串转整型:stoi(string_data) ,stoi 遇到点号(.)会停止转换,字符自动忽略 字符串转浮点型:stof(string_data)
int tic = stoi("5555");cout<<"string 5555 to int:"<<tic<<endl<<endl;
int tid = stoi("6i.666");cout<<"string 6i.666 to int:"<<tid<<endl<<endl;
float tfc = stof("7.777");cout<<"string 7.777 to float:"<<tfc<<endl<<endl;
整型和浮点型转字符串
整型和浮点型转字符串:to_string(data)
string tsi = to_string(8);cout<<"int 8 to string:"<<tsi<<endl<<endl;
string tsf = to_string(9.999);cout<<"float 9.99 to string:"<<tsf<<endl<<endl;
string类型和char的相互转换
string转成char[]
string转char[](字符数组)的步骤: 1、获取数组长度const int类型; 2、定义相应长度的char[]; 3、依次赋值。
string stra = "string_to_char[]";
int const len = stra.length();
char chaa[len] = {};
for(int temp = 0; temp < len; temp++)
{
chaa[temp] = stra[temp];
}
for(int temp = 0; temp < len; temp++)
{
cout<<chaa[temp]<<",";
}
cout<<endl<<endl;
char[]转成string
直接利用数组名赋值
char chab[] = {'c','h','a','r','[',']','_','t','o','_','s','t','r','i','n','g'};
string strb = chab;
cout<<strb<<endl<<endl;
string转成char*
方式1:char* = string[0]
string strc = "string_to_char*";
char* pca = &strc[0];
for(int temp = 0; temp < strc.length(); temp++)
{
cout<<*(pca+temp)<<",";
}
cout<<endl<<endl;
方式2:const char* = string.c_str
const char* pcb = strc.c_str();
for(int temp = 0; temp < strc.length(); temp++)
{
cout<<*(pcb+temp)<<",";
}
cout<<endl<<endl;
对于const char *p 来说,const char* 是指向常量的指针,而不是指针本身为常量,可以不被初始化.该指针可以指向常量也可以指向变量,只是从该指针的角度而言,它所指向的是常量。*p 是不变的,p 是可以改变的,const 限定的*p 。p 被一个解引用运算符修饰,故p 是个普通的指针,可以修改,但是p 所指向的数据(即*p )由于const 的修饰而不可通过指针p 去修改。对于const char* 的理解可以参考:知乎文章
例题
两任意整数相除,最后向最大整数取整
例如输入9和4,最后结果为3。
#include<iostream>
#include<math.h>
using namespace std;
int main()
{
string den;cin>>den;
string mol;cin>>mol;
float denf = stof(den);
float molf = stof(mol);
int rea = ceil(denf/molf);
cout<<rea;
return 0;
}
|