我想将数字12转换为0012.因此,数字总是4个字符长。我试着用下面的代码:将前导零加到整数不起作用(arduino,c)
int number;
int result;
void setup() {
number = 12;
Serial.begin(9600);
result = printf("%03d", number);
}
void loop() {
Serial.println(result);
}
但是,这段代码只输出-1而不是0012.这段代码有什么问题?
这个问题最初是用'C#'标记的。基本的想法仍然保持不变。 'result'需要是一个字符串,而不是整数。 –
好的。感谢那!有没有可能用一个整数做到这一点? – manIneedHelp
正如我所提到的,整数不能包含任何类型的格式信息,前导零可以被认为是。真正的问题是你需要一个变量来存储结果吗?还是只是输出它?如果是这种情况,那么你不需要定义'result'或者将它设置为等于你的'printf()'调用。 –