c - int 到填充零字符串

标签 c string int type-conversion

我有一个数字需要与 3 个字符串进行比较。该号码的长度永远不会超过 3 位数字。

例如,我需要将 3、300 和 13 与“003”、“300”和“013”等字符串进行比较。

我认为最简单的比较方法是,如果我可以将整数转换为字符串格式,然后使用 strcmp将“003”与“003”进行比较。

我只是不确定如何确定需要填充多少个字符,尤其是如何正确分配和转换。

有什么建议吗?我在想我可以检查一下 number - 100 < 0 .如果是,则意味着需要填充数字而不仅仅是转换。我也可以做 number - 10 < 0看看它是不是像 13 这样的数字或 3 .所以我可以确定要填充的零的确切数量,但在那之后我就迷路了。

最佳答案

I think the easiest way to compare would be if I could get the ints into their string format, and then use strcmp to compare '003' to '003'

我认为最简单的方法是使用 strtoul 并将字符串转换为整数。

3 == strtoul("003", NULL, 10);

关于c - int 到填充零字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8979385/

相关文章:

c - 如何检查 EVP_PKEY 是否包含私钥?

c - 将 unsigned char 旋转 n 位

c - OpenCL 我需要释放主机指针吗

php - 检查整个字符串是否包含相同的字符

java - 如何获取从 1 开始到 n 结束的 String ?

c - 我的程序在 windows(gcc) 中给出了正确的输出,但在 Linux(gcc) 中它导致了段错误

java - 如何在Java中将字符串数字转换为两位小数点后三位?

java - 如何将 String#split 与反斜杠字符一起使用?

java - 了解字节缓冲区

Objective-C:无故改变int值