- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个通过 Rcpp 的函数来反转整数
#include <Rcpp.h>
using namespace Rcpp;
//' Reverse an integer
//'
//' @param x A single integer.
//' @export
// [[Rcpp::export]]
int reverse_integer(int x) {
int reverse = 0;
while(x != 0){
int remainder = x%10;
reverse = reverse*10 + remainder;
x/=10;
}
return reverse;
}
这对于没有前导零或尾随零的数字来说效果很好
reverse_integer(123) == 321
但是,当有零时,它们将被删除,即
reverse_integer(100) == 1
如何最好地修改此函数,以便我仍然可以将其作为整数进行操作,但不会丢失零?
最佳答案
您需要返回一个字符串。在任何编程语言中,001 与 1 都不是不同的整数。方法如下:
#include <Rcpp.h>
using namespace Rcpp;
//' Reverse an integer
//'
//' @param x A single integer.
//' @export
// [[Rcpp::export]]
std::string reverse_integer(int x) {
int reverse = 0;
int ndigits = 0;
while(x != 0){
int remainder = x%10;
reverse = reverse*10 + remainder;
x/=10;
ndigits++;
}
std::string output(ndigits, '\0');
char * outputp = &output[0];
std::string fmt_string = "%0" + std::to_string(ndigits) + "d";
sprintf(outputp, fmt_string.c_str(), reverse);
return output;
}
示例:
reverse_integer(103400)
[1] "004301"
关于c++ - 在 rccp int 中保留前导零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60590492/
我有一个通过 Rcpp 的函数来反转整数 #include using namespace Rcpp; //' Reverse an integer //' //' @param x A singl
我开发了代码,可以围绕大型矩阵移动元素以模拟水文条件。这部分代码是一个函数,在一个小时的模拟中被多次调用,而当我试图对 30 年的数据进行建模时,最终会耗费大量时间。 在名为 flowingrunof
我正在尝试编写一个 .cpp,它接受一个输入 vector 并输出一个包含输入 vector 中所有可能组合的两列数据帧。我的输出给出了所需的值,但不是作为数据帧。我在 .cpp 文件中更改了什么才能
我知道 Rcpp 是一个用于 C++ 和 R 之间集成的 R 包。我有一个为此使用 Rcpp 的代码。但我希望直接使用 C++ 代码。是否有可能像任何普通的 C++ STL 一样获取 Rcpp,以便我
我刚刚开始习惯使用 R 中的 Rcpp 包。我通常在使用 Rcpp 时构建一个包。然而,为了调试和测试,我希望能够在不涉及 R 的情况下运行 C++ 代码。因此,我尝试在 C++ 程序中使用 Rccp
我是一名优秀的程序员,十分优秀!