teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

追記

2021/08/24 03:59

投稿

itagagaki
itagagaki

スコア8402

answer CHANGED
@@ -6,4 +6,11 @@
6
6
  set n=08
7
7
  set /a nn=1%n%-100
8
8
  ```
9
- set /a nn=108-100 となってnnはめでたく8となります。
9
+ set /a nn=108-100 となってnnはめでたく8となります。
10
+
11
+ ### 回避策2
12
+ ```
13
+ set n=08
14
+ set /a nn=1%n%*2-2%n%
15
+ ```
16
+ これで`n`の桁数によらず左のゼロを除去でき、`n=8`でも`n=08`でも`n=008`でも`nn=8`となります。

1

追記

2021/08/24 03:58

投稿

itagagaki
itagagaki

スコア8402

answer CHANGED
@@ -1,1 +1,9 @@
1
- コマンドプロンプトで数値を書くことのできるところで`0x`で始まれば16進の数値定数、`0`で始まれば8進の数値定数として解釈されます。
1
+ コマンドプロンプトで数値を書くことのできるところで`0x`で始まれば16進の数値定数、`0`で始まれば8進の数値定数として解釈されます。
2
+
3
+ (追記)
4
+ ### 回避策
5
+ ```
6
+ set n=08
7
+ set /a nn=1%n%-100
8
+ ```
9
+ set /a nn=108-100 となってnnはめでたく8となります。