gpt4 book ai didi

c++ - 将整数数组转换为字符串

转载 作者:太空宇宙 更新时间:2023-11-03 10:24:24 25 4
gpt4 key购买 nike

如果我有一个看起来像这样的数组

int digits[size] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 4}

我想删除前导零,为此我尝试将整数数组转换为字符串(这是一个字符数组)。

我的尝试看起来像

string toString(int digits[], int size){
string number = " ";
for(int i = 0; i < size - 1; i++){
number[i] = digits[i];
}
return number;
}

它坏得很厉害。

我也不能简单地删除所有零,只删除前导零。

此外,如果我可以在这里提出另一个问题:

如何识别字符串是否为数字?

例如

string number = "12a4"
cout << "not a number"

最佳答案

你可以使用 C++11 函数 std::to_string() 这是一个例子

#include <string>
#include <iostream>

int main()
{
int size = 15;
int digits[size] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 3, 0, 4};
std::string result = "";

for (int i = 0; i < size; i++)
{
if (!(digits[i] == 0 && result.size() == 0))
result += std::to_string(digits[i]);
}

std::cout << result << std::endl;
}

您可以使用此函数检查字符串是否为数字

bool isNb(std::string str)
{
if (str.size() == 0)
return false;

for (int i = 0; i < str.size(); i++)
{
if (std::isdigit(str.at(i)) == false)
return false;
}

return true;
}

关于c++ - 将整数数组转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43400203/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com