【问题标题】:Add trailing zeros to an integer将尾随零添加到整数
【发布时间】:2018-03-14 02:47:32
【问题描述】:

我需要将n 尾随零添加到一个整数中。

例如:

n=4
y=1
output 10000

我使用了下面的代码,但我需要给出一个整数值来代替n,并且应该将其转换为零的数量。有什么想法吗?

n=00 
y=1 
printf  "%d$n\n" $y

【问题讨论】:

  • 哪种语言?
  • 它似乎是一个shell脚本。
  • 它是shell脚本。
  • 我建议的代码对你有用吗?

标签: shell append


【解决方案1】:

我不确定您使用的是什么语言(我添加了 C++ 标签只是为了让您去某个地方并获得一些视图)。但是您最好创建一个字符串(为n 变量的每次迭代在其末尾添加一个 0)。然后你可以把那个字符串解析回一个数字吗?

否则,您可以尝试将每个 n 迭代的数字乘以 10。

类似..

number = y

for (i = 0; i <= n; i++) {
    number *= 10;
}

【讨论】:

    【解决方案2】:

    你需要检查n是否大于零:

    n=4
    y=15
    if [ $n -gt 0 ]; then
      printf  "$y%0*d\n" $n 0
    else
      printf  "$y\n"
    fi
    

    【讨论】:

    • 不客气。仅供参考 %0*d 获取两个参数。 0* 将前导零添加到第二个参数,以便总位数等于第一个参数。这里第一个参数是 n,第二个是 0。
    【解决方案3】:

    根据 hutheano 的回答,这里是 C 中的等效代码:

    #include <stdio.h>
    
    int main()
    {
      int n,y;
      n=4;
      y=1;
    
      if (n>0)
        printf("%d%0*d\n", y, n, 0);
      else
        printf("%d\n", y);
    
      return 0;
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-05-03
      • 1970-01-01
      • 1970-01-01
      • 2020-03-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多