• ベストアンサー

3桁の数字から下の二桁を取得する方法

3桁の数字から下の二桁を取得する方法 三桁の数字から下の二桁を取得したいのですが、123%100=23となり、うまく行くのですが、013%100など、最初に0が付くとうまくいきません。 何度も試すと、結果が8進数になっていました。最初に0が付くと8進数と誤認識されるようです。 012などから、12を取り出す方法はありませんか? →最初に0が付く数字から下の二桁を取り出す方法はありますか?

質問者が選んだベストアンサー

  • ベストアンサー
  • maiko0333
  • ベストアンサー率19% (839/4401)
回答No.2

したいなら、前に1をつければいいのでは? 下2桁だったらうまくいくでしょ。

nsjsjzjsj
質問者

お礼

……。 っあ!(理解) 確かにそうですね!! 最初に1をつけるなんて手があったのですね!! ありがとうございます!!

すると、全ての回答が全文表示されます。

その他の回答 (3)

回答No.4

> 三桁の数字から下の二桁を取得したいのですが、123%100=23となり、うまく行くのですが 数学的に とても正しいので自信を持って下さい。 > 013%100など、最初に0が付くとうまくいきません。 > 何度も試すと、結果が8進数になっていました。最初に0が付くと8進数と誤認識されるようです。 モチロン、4017B さんの方法でも良いです、どちらにしろ(先頭にゼロが付いた数値は8進数として認識されてしまうので)前提として初めから文字列である必要があります。 s = "0123"; n = parseInt(s, 10) % 100;

nsjsjzjsj
質問者

お礼

ありがとうございます!

すると、全ての回答が全文表示されます。
  • 4017B
  • ベストアンサー率73% (1341/1821)
回答No.3

え~っと、 ・数字A % 数字B ~の演算式は「数字A を 数字B で割った時の余りの数字」を求める式ですよ? 数字の下何桁かを求めるのであれば、数字を文字列化して、その後に末尾のn文字分を抽出するのが一般的な方法。 var str = '0123'; var result = ''; result = str.slice(-2); //引数にマイナス数値を設定する事で、文字列の末尾から取得. こんな感じで。

nsjsjzjsj
質問者

お礼

ありがとうございます!!

すると、全ての回答が全文表示されます。
  • maiko0333
  • ベストアンサー率19% (839/4401)
回答No.1

誤認識ではありません。お約束です。 ’3'が文字であるとか、"abc"が文字列であるとかそういうことと同じです。 お約束を破るならプログラムなど意味を持たなくなります。

nsjsjzjsj
質問者

お礼

お約束wですか! ありがとうございます!!

すると、全ての回答が全文表示されます。

関連するQ&A