回答編集履歴

3

修正

2019/02/12 06:16

投稿

papinianus
papinianus

スコア12705

test CHANGED
@@ -24,7 +24,9 @@
24
24
 
25
25
  ```
26
26
 
27
+ ---
27
28
 
29
+ 初期回答
28
30
 
29
31
 
30
32
 

2

修正

2019/02/12 06:16

投稿

papinianus
papinianus

スコア12705

test CHANGED
@@ -1,3 +1,33 @@
1
+ やりたいことが良く分からないのですが、もはや数値じゃなくて文字として扱うのがよくないですかね。
2
+
3
+
4
+
5
+ とりあえず、補助関数を書いてみました。この路線でいくなら適当に調整してください
6
+
7
+
8
+
9
+ ```csharp
10
+
11
+ public static string TrimNumber(double d) {
12
+
13
+ var stringify = d.ToString("#0.0#").TrimEnd(new char[]{'0'});
14
+
15
+ var split = stringify.Split('.');
16
+
17
+ var over = string.Join("", split[0].Reverse().Take(5).Reverse());//TakeLastが使えるならReverseをやめられる
18
+
19
+ var under = split[1] == string.Empty ? string.Empty : $".{split[1]}";
20
+
21
+ return $"{over}{under}";
22
+
23
+ }
24
+
25
+ ```
26
+
27
+
28
+
29
+
30
+
1
31
  ```csharp
2
32
 
3
33
  double d1 = 1234.1234;

1

修正

2019/02/12 06:15

投稿

papinianus
papinianus

スコア12705

test CHANGED
@@ -6,9 +6,9 @@
6
6
 
7
7
 
8
8
 
9
- Console.WriteLine(d1.ToString("#.#####")); // 01234.12340
9
+ Console.WriteLine(d1.ToString("#0.#####")); // 01234.12340
10
10
 
11
- Console.WriteLine(d2.ToString("#.#####")); // 23456.12345
11
+ Console.WriteLine(d2.ToString("#0.#####")); // 23456.12345
12
12
 
13
13
  ```
14
14