質問編集履歴
1
strtodを用いた試行錯誤の追記
title
CHANGED
File without changes
|
body
CHANGED
@@ -89,4 +89,37 @@
|
|
89
89
|
|
90
90
|
|
91
91
|
###余談
|
92
|
-
関数名は double型のnamberをscanするkazumori製関数という意味で付けました。もっといい感じの名前も募集中。
|
92
|
+
関数名は double型のnamberをscanするkazumori製関数という意味で付けました。もっといい感じの名前も募集中。
|
93
|
+
|
94
|
+
###19/02/13追記
|
95
|
+
変換部分の試行錯誤として、[C言語関数辞典のstrtod](http://www.c-tipsref.com/reference/stdlib/strtod.html)を参考に作ってみようと、サンプルコードを試してみましたが求める結果が出ませんでした。関数の仕様でしょうか?
|
96
|
+
|
97
|
+
```c
|
98
|
+
#include <stdio.h>
|
99
|
+
#include <stdlib.h>
|
100
|
+
|
101
|
+
/* macros */
|
102
|
+
#define N 256
|
103
|
+
|
104
|
+
/* main */
|
105
|
+
int main(void) {
|
106
|
+
char s[N] = {'\0'}, *endptr;
|
107
|
+
double x;
|
108
|
+
|
109
|
+
/* 入力 */
|
110
|
+
fgets(s, N, stdin);
|
111
|
+
printf("変換前: %s", s);
|
112
|
+
|
113
|
+
/* 変換 */
|
114
|
+
x = strtod(s, &endptr);
|
115
|
+
printf("変換後: %.2f\n", x);
|
116
|
+
printf("endptr: %s\n", endptr);
|
117
|
+
|
118
|
+
return EXIT_SUCCESS;
|
119
|
+
}
|
120
|
+
```
|
121
|
+
```
|
122
|
+
変換前: 123456789012345678901234567890
|
123
|
+
変換後: 123456789012345680000000000000.00
|
124
|
+
求結果: 123456789012345678901234567890.00
|
125
|
+
```
|