gpt4 book ai didi

c++ - 如何在整数右边用零填充整数?

转载 作者:行者123 更新时间:2023-11-30 01:25:40 25 4
gpt4 key购买 nike

我知道要用零填充整数,我可以执行以下操作,

NSString *version = [NSString stringWithFormat:@"%03d", appVersion.intValue];

如果需要,这将在整数左侧添加最多 3 个零。但是我想做同样的事情,但我需要向右填充而不是向左填充。

如何在整数的右边用零填充整数? (理想情况下与上述方法具有相似的简单性)

这是我需要的例子,

如果整数结果为 38,我需要版本字符串为 380(只在整数末尾添加了一个零,因为我想要最多三个字符,如果整数小于三个字符,将添加零以使其成为三个)。

我目前使用的方法会给我038,我需要380。

或者如果整数是 381 那么输出应该是 381 因为我最多只想要三个字符。

最佳答案

你能把这个值乘以 1000,然后打印出来吗?如果您需要很多零,您可能通常希望在相乘之前将 int 提升为 longlong long,以降低可能性溢出。

NSString *version = [NSString stringWithFormat:@"%ld", ((long)appVersion.intValue)*1000];

如果您需要 int 的长度,在决定乘以 10 之前,取十进制 logfloor code> 的值并加一。例如:

int foo = 123;
int digitsInFoo = floor(log10(foo)) + 1; /* 3 */

然后使用一些规则来决定要添加多少个零位。

int totalDesiredLength = 5;
int numberOfZeroesNeeded = totalDesiredLength - digitsInFoo; /* this assumes totalDesiredLength >= digitsInFoo */
int factor = (int) pow(10, numberOfZeroesNeeded); /* 100 */

那么五位数的结果将是 foo * factor12300。您可以根据需要根据自己的情况进行调整。测试边界,这样您就不会得到奇怪的结果。

关于c++ - 如何在整数右边用零填充整数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11939554/

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