質問編集履歴

7

修正

2017/07/10 05:19

投稿

cookie.
cookie.

スコア14

test CHANGED
File without changes
test CHANGED
@@ -138,9 +138,9 @@
138
138
 
139
139
  var two = String(format: "%.f",param_1_1)
140
140
 
141
- var param_2 = Int(one)//param_2,param_1がnilになってしまう
141
+ var param_2 = Int(one)!//param_2,param_1がnilになってしまう
142
-
142
+
143
- var param_1 = Int(two)
143
+ var param_1 = Int(two)!
144
144
 
145
145
  }else{
146
146
 

6

修正

2017/07/10 05:18

投稿

cookie.
cookie.

スコア14

test CHANGED
File without changes
test CHANGED
@@ -126,108 +126,108 @@
126
126
 
127
127
  var param_1 = Double(prev)
128
128
 
129
+ var param_2_1 = String(describing: param_2!)
130
+
131
+ var param_1_1 = String(describing: param_1!)
132
+
133
+
134
+
135
+ if (param_2_1.hasSuffix(".0")) && (param_1_1.hasSuffix(".0")){
136
+
137
+ var one = String(format: "%.f",param_2_1)
138
+
139
+ var two = String(format: "%.f",param_1_1)
140
+
141
+ var param_2 = Int(one)//param_2,param_1がnilになってしまう
142
+
143
+ var param_1 = Int(two)
144
+
145
+ }else{
146
+
147
+ param_2 = Double(param_2_1)
148
+
149
+ param_1 = Double(param_1_1)
150
+
151
+ }
152
+
153
+ if prev != "" && calc != "" && start != 1 {
154
+
155
+ if calc == "+"{
156
+
157
+ label.text = String(param_1! + param_2!)}else if calc == "-"{
158
+
159
+ label.text = String(param_1! - param_2!)}else if calc == "*"{
160
+
161
+ label.text = String(param_1! * param_2!)}else if calc == "/"{
162
+
163
+ label.text = String(param_1! / param_2!)
164
+
165
+ }
166
+
167
+ calc = ""
168
+
169
+ prev = ""
170
+
171
+ after_equal = 1
172
+
173
+ }
174
+
175
+ }
176
+
177
+
178
+
179
+ @IBAction func reset_Button(_ sender: UIButton) {
180
+
181
+ label.text = "0"
182
+
183
+ start = 1
184
+
185
+ prev = ""
186
+
187
+ calc = ""
188
+
189
+ }
190
+
191
+ }
192
+
193
+
194
+
195
+
196
+
197
+ ```
198
+
199
+ ###自分で調べたこと
200
+
201
+ 文字列の変換にはhasSuffix(".0")
202
+
203
+ で条件分岐して
204
+
205
+ String(format: "%.f",パラメータ)
206
+
207
+ で解決できるが、
208
+
209
+ これだとString型なので"-","*"などのオペランドが使えない。
210
+
211
+ そこで、
212
+
213
+ String(format: "%.f",パラメータ)の後に
214
+
215
+ Int(パラメータ)を書いたとしても、
216
+
217
+ 結果を受け取る変数にnilが入ってうまくいきませんでした。
218
+
219
+
220
+
221
+ よろしくお願いします。
222
+
223
+
224
+
225
+ ###追記1
226
+
129
227
  var param_2_1 = String(describing: param_2)
130
228
 
131
229
  var param_1_1 = String(describing: param_1)
132
230
 
133
-
134
-
135
- if (param_2_1.hasSuffix(".0")) && (param_1_1.hasSuffix(".0")){
136
-
137
- var one = String(format: "%.f",param_2_1)
138
-
139
- var two = String(format: "%.f",param_1_1)
140
-
141
- var param_2 = Int(one)//param_2,param_1がnilになってしまう
142
-
143
- var param_1 = Int(two)
144
-
145
- }else{
146
-
147
- param_2 = Double(param_2_1)
148
-
149
- param_1 = Double(param_1_1)
150
-
151
- }
152
-
153
- if prev != "" && calc != "" && start != 1 {
154
-
155
- if calc == "+"{
156
-
157
- label.text = String(param_1! + param_2!)}else if calc == "-"{
158
-
159
- label.text = String(param_1! - param_2!)}else if calc == "*"{
160
-
161
- label.text = String(param_1! * param_2!)}else if calc == "/"{
162
-
163
- label.text = String(param_1! / param_2!)
164
-
165
- }
166
-
167
- calc = ""
168
-
169
- prev = ""
170
-
171
- after_equal = 1
172
-
173
- }
174
-
175
- }
176
-
177
-
178
-
179
- @IBAction func reset_Button(_ sender: UIButton) {
180
-
181
- label.text = "0"
182
-
183
- start = 1
184
-
185
- prev = ""
186
-
187
- calc = ""
188
-
189
- }
190
-
191
- }
192
-
193
-
194
-
195
-
196
-
197
- ```
198
-
199
- ###自分で調べたこと
200
-
201
- 文字列の変換にはhasSuffix(".0")
202
-
203
- で条件分岐して
204
-
205
- String(format: "%.f",パラメータ)
206
-
207
- で解決できるが、
208
-
209
- これだとString型なので"-","*"などのオペランドが使えない。
210
-
211
- そこで、
212
-
213
- String(format: "%.f",パラメータ)の後に
214
-
215
- Int(パラメータ)を書いたとしても、
216
-
217
- 結果を受け取る変数にnilが入ってうまくいきませんでした。
218
-
219
-
220
-
221
- よろしくお願いします。
222
-
223
-
224
-
225
- ###追記1
226
-
227
- var param_2_1 = String(describing: param_2)
228
-
229
- var param_1_1 = String(describing: param_1)
230
-
231
231
 
232
232
 
233
233
  var param_2_1 = String(describing: param_2!)

5

アンラップ

2017/07/10 04:29

投稿

cookie.
cookie.

スコア14

test CHANGED
File without changes
test CHANGED
@@ -219,3 +219,19 @@
219
219
 
220
220
 
221
221
  よろしくお願いします。
222
+
223
+
224
+
225
+ ###追記1
226
+
227
+ var param_2_1 = String(describing: param_2)
228
+
229
+ var param_1_1 = String(describing: param_1)
230
+
231
+
232
+
233
+ var param_2_1 = String(describing: param_2!)
234
+
235
+ var param_1_1 = String(describing: param_1!)
236
+
237
+ としました。

4

タイトル

2017/07/10 04:29

投稿

cookie.
cookie.

スコア14

test CHANGED
@@ -1 +1 @@
1
- Swift3 数値の変換
1
+ Swift3 文字列、数値の変換
test CHANGED
File without changes

3

修正

2017/07/10 04:22

投稿

cookie.
cookie.

スコア14

test CHANGED
File without changes
test CHANGED
@@ -2,11 +2,11 @@
2
2
 
3
3
 
4
4
 
5
- 下記のアプリを使って1+1=を押すと
5
+ 1+1=を押すと
6
6
 
7
7
  @IBAction func equal_pushed以下で
8
8
 
9
- 小数点の計算用にDouble型に変換しているので
9
+ 小数点の計算用にDouble型に変換しているだけだと
10
10
 
11
11
  「2.0」と出ます。
12
12
 

2

修正

2017/07/10 04:17

投稿

cookie.
cookie.

スコア14

test CHANGED
File without changes
test CHANGED
@@ -138,7 +138,7 @@
138
138
 
139
139
  var two = String(format: "%.f",param_1_1)
140
140
 
141
- var param_2 = Int(one)
141
+ var param_2 = Int(one)//param_2,param_1がnilになってしまう
142
142
 
143
143
  var param_1 = Int(two)
144
144
 

1

修正

2017/07/10 04:14

投稿

cookie.
cookie.

スコア14

test CHANGED
File without changes
test CHANGED
@@ -126,6 +126,30 @@
126
126
 
127
127
  var param_1 = Double(prev)
128
128
 
129
+ var param_2_1 = String(describing: param_2)
130
+
131
+ var param_1_1 = String(describing: param_1)
132
+
133
+
134
+
135
+ if (param_2_1.hasSuffix(".0")) && (param_1_1.hasSuffix(".0")){
136
+
137
+ var one = String(format: "%.f",param_2_1)
138
+
139
+ var two = String(format: "%.f",param_1_1)
140
+
141
+ var param_2 = Int(one)
142
+
143
+ var param_1 = Int(two)
144
+
145
+ }else{
146
+
147
+ param_2 = Double(param_2_1)
148
+
149
+ param_1 = Double(param_1_1)
150
+
151
+ }
152
+
129
153
  if prev != "" && calc != "" && start != 1 {
130
154
 
131
155
  if calc == "+"{