23
4

5 に答える 5

29

私の最高のアイデアの多くと同様に、ベッドに横になって眠りにつくのを待っているときに答えが浮かびました(その時点では、考える以外にやることはあまりありません)。

モジュラスを使用してください!

printf("%2d\n", 1234%10);   // for 4
printf("%2d\n", 1234%100);  // for 34

printf("%2x\n", 1234%16);   // for 2
printf("%2x\n", 1234%256);  // for d2

左から切り捨てることができないため(たとえば、の12代わりに34)理想的ではありませんが、主なユースケースでは機能します。例えば:

// print a decimal ruler
for (int i=0; i<36; i++)
  printf("%d", i%10);
于 2012-03-31T16:27:05.453 に答える
7

右から切り捨てたい場合は、数値を文字列に変換してから、文字列フィールド幅指定子を使用できます。

"%.3s".format(1234567.toString)
于 2013-05-12T12:08:27.310 に答える