floatについてですが

[戻る]
マシャマシャ 2004/07/29(木) 19:12:54
最近VC++.NETを使い始めた初心者であります。文字列を数値に変換するということです
が、過去の掲示板を見てもどうも解らないので教えてほしいのです。CHAR型をFLOAT型に
変換したいのですがですが、ATOFという関数を使うのは解りましたが頭が足りないらし
く上手くいきません。
サンプルなどを見て自力で作ってみたのですがこの程度です。間違いがあればどんどん
指摘してください。
float fl;
char str1[4];
str1[4] = 6.6;
fl = atof(str1[4]);
下手な文章ですいません。

aa 2004/07/29(木) 19:28:34
str1[4] = 6.6;

がいけません。
おそらく str1 に文字列として 6.6 を入れたいと思いますが
char型は =(イコール)で文字列変換できません。

::sprintf( str1, "%f", ( float )6.6 );

とするのが多分それかと。


fl = atof(str1[4]);

もいけません。
str1[4] にはもし正常に文字が入っていても 1文字しか入っていません。

fl = atof( str1 );

で試してみてください。

PATIO 2004/07/30(金) 17:34:48
なんか毎回書いているような気がしますが、
兎にも角にもプログラミング言語の文法から勉強しましょう。
C++言語を使っているならC++言語の文法からです。
.Netに限らず、開発環境の入門書を使っても言語の勉強にはなりません。
C++言語の入門書を使って言語の勉強をまずやりましょう。
演習問題等で理解度を確認していけるような本が良いかもしれません。

色々やってみたいのはわかるんですが、
基礎的な知識無しにはじめてもハマルばかりで先に進めません。
やってみたら出来たからOKでは、誤解したまま進みかねませんし。
(たまたま動いていると言うようなこともありますからね)
少なくとも言語の入門書レベルの内容は先に勉強しないと
誤解した知識を後で修正するのは一苦労します。
急がば回れとも言いますし、基礎から学ばれることをお勧めします。

マシャマシャ 2004/07/30(金) 19:51:43
[[解決]]
ありがとうございます。おかげさまで上手くいきました。
やっぱり基礎は大事ですね。初めて本を見ながら作って以来楽しくなってしまい、自分
で書きながら覚えていけると思っていたのですが、甘い考えでしたね。
これを機にもう一度勉強しなおします。
本当にありがとうございました。

古いスレッドには追加発言できません。