如何将int型转换为char型
how to convert an int to a char C++
我遇到了一个分配问题,我必须转换时钟的三个变量(int小时,int分钟和bool下午)转换为方法中的字符串。我尝试将int转换为char,然后用char替换每个字符串。如果转换成功,该函数应该返回T/F。以下是目前为止的内容:
class Time
{
private:
int hour;
int minutes;
bool afternoon;
public:
void setHour(int hr);
void setMinutes(int min);
void setAfternoon(bool aft);
int getHour();
int getMinutes();
bool getAfternoon();
bool setAsString(string time);
string getAsString();
Time(void);
~Time(void);
};
和
bool Time::setAsString(string time){
char min = minutes;
char hr = hour;
char hr[0] = time[0];
char hr[1]= time[1];
char min[0] = time[3];
char min[1] = time[4];
char afternoon = time[6];
if ((hourTens > 1) || (minTens > 5)) {
return false;
} else {
return true;
}
}
string Time::getAsString(){
return false;
}
这实际上是直截了当的,但一开始可能会涉及到一些思想上的扭曲。
我不打算给你实际的代码,而是一些片段,如果你能理解它们,你应该能够自己解决问题:
你要做的是将整数转换为字符串/char。您需要做的最基本的事情是将一个单位数int转换为相应的char。
// for example you have such integer
int i = 3;
// and you want to convert it to a char so that
char c = '3';
你需要做的是,把I加到'0'。它之所以有效是因为'0'实际上意味着48的整数值。' 1 ' . ."9"表示49…57。这是一个简单的加法,用于查找单个十进制数字整数的对应字符:
。c = '0' + i;
如果你知道如何将一个十进制整数转换为char,剩下的就是如何从一个以上的十进制整数中提取单个数字
它只是一个简单的数学通过使用/和%
int i = 123 % 10; // give u last digit, which is 3
int j = 123 / 10; // give remove the last digit, which is 12
剩下的逻辑是你需要做的作业。
假设您想手动将每个char转换为int,这里有一个非常粗略的想法。使用switch
语句将每个字符转换为其ascii值。例如,switch(char_to_convert)
的case 38
将返回1。基本上,"1"转换为ASCII是49(感谢Ben Voigt的更正)。你实际上不需要转换它;编译器会注意到并为您转换它。然后进行比较。完整列表见Ascii表
相关文章:
- 将无符号char*转换为std::istream*C++
- 为什么这个函数将"const char*"转换为"void* const"而不是"const void*"
- 使用char类型将decimal转换为string,将string转换为decimal
- 如何在对<char>C++程序进行逆向工程的同时将 std::basic_string 转换为 Rust 可读值?
- 将函数参数"const char*"转换为"std::string_view"是
- 如何在保持其值的同时将 c++ 无符号字符变量转换为 char 变量
- 需要帮助在 c++ 中将字符串转换为字符 ----错误 "const char *" 类型的值不能用于初始化 "char" 类型的实体
- 如何在不强制转换每个参数的情况下删除初始值设定项列表中从 int 到 char 的缩小转换?
- C ++如何在使用"tolower"时将char转换为int
- 有没有办法在C++的赋值中将"char**"转换为"double"?
- 如何使用多次 memcpy 转换回 std::vector<unsigned char>?
- 将"uint8_t"(从套接字读取)隐式转换为"char"安全吗
- JavaCPP 错误:无法将参数"1"的"char*"转换为"Abc*
- 将传入的网络"char*"数据转换为"uint8_t"并返回的安全方法是什么?
- 转换char*时的值不同
- Boost Python 不会自动转换 char* 数据成员
- 除了转换char*之外,还有更好的方法来获得一个变量值吗?
- 如何跨平台转换char*到long long(64位)
- 用atof转换char数组中的浮点数
- C转换char[]为时间戳;