回答編集履歴

2

NSDecimalNumber

2018/03/29 08:20

投稿

fuzzball
fuzzball

スコア16731

test CHANGED
@@ -13,3 +13,27 @@
13
13
  //=> 12345000.0 Double
14
14
 
15
15
  ```
16
+
17
+
18
+
19
+ 【追記】
20
+
21
+
22
+
23
+ 大きな値を正しく計算/表示したいのであれば、NSDecimalNumberを使いましょう。
24
+
25
+
26
+
27
+ ```swift
28
+
29
+ var value1 = NSDecimalNumber(string: "66666666666666666")
30
+
31
+ let value2 = NSDecimalNumber(string: "999999999999999999")
32
+
33
+ value1 = value1.adding(value2)
34
+
35
+ print(value1.stringValue)
36
+
37
+ //=> 1066666666666666665
38
+
39
+ ```

1

sample code

2018/03/29 08:20

投稿

fuzzball
fuzzball

スコア16731

test CHANGED
@@ -1,3 +1,15 @@
1
1
  `e+`というのは指数表記です。
2
2
 
3
3
  数値として扱われますので、そのまま計算に使っても大丈夫です。
4
+
5
+
6
+
7
+ ```swift
8
+
9
+ let value = 12345e+3
10
+
11
+ print(value, type(of: value))
12
+
13
+ //=> 12345000.0 Double
14
+
15
+ ```