0

ジョイスティックのデルタ X と Y を読み取り、次にそれらを文字にキャストする小さなスクリプトがあります。

var a =deltaX.toString();
var b =deltaY.toString();
outputEl.innerHTML  = '<b>Result:</b> '
    + a
    + b;    
var comando = a + b ;

問題は、10 未満の数字と -10 を 2 文字にする必要があることです。たとえば、5 を 05 にする必要があります。10 および -10 よりも小さい数値にゼロを追加する良い方法は何ですか?

4

2 に答える 2

2
var a;

if (deltaX < 10) {
  // one digit
  a = '0' + deltaX;
} else {
  a = deltaX.toString();
}

これは負の部分を処理しないことに注意してください。ただし、概念実証を示しています。数値が非常に小さいため、if気密な方法でゼロをパディングするのではなく、単純なステートメントでパディングできます。

于 2013-09-30T20:02:17.680 に答える
1

長さプロパティを見ることで、三項演算子(インラインif)でそれを行うことができます:

outputEl.innerHTML  = '<b>Result:</b> '
            + a.length > 1 ? a : '0' + a
            + b.length > 1 ? b : '0' + b;
于 2013-09-30T20:03:00.450 に答える