- ベストアンサー
小数点入りの文字列をfloat型に変換
例えば、 32.1 のように4文字の文字列が、あるchar型配列に入っている場合、この値を使って計算したいので、float型などに変換したいのですが、どんな方法がありますか?
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
その他の回答 (1)
- bloomers_daisuki
- ベストアンサー率14% (40/267)
関連するQ&A
- 浮動小数点から文字列の変換の時に
浮動小数点floatからStrへの変換をgcvt関数で行なうときに、値が小さいと文字列0.00005が欲しいのに5e-05になってしまいます。 どうすればよいですか?教えてください。
- ベストアンサー
- C・C++・C#
- 文字列をint型に変換したいのですが
文字列をint型に変換して、計算に使用したいのですが うまくいきません。 char moji[0] = '1' moji[1] = '2' moji[2] = '3' この文字列をひとつずつint型の変数に代入したいのですが atoi関数を使用した場合、文字列全ての値が変換されてしまいます。 どうしたらいいのでしょうか? お答えいただけるとありがたいです。
- ベストアンサー
- C・C++・C#
- 文字列をfloatで読み込む(atoi,sscanf)。しかし、値がおかしい。
お世話になっています。 C言語の質問です。 文字列をfloatで読み込もうとしているのですが、出力結果がおかしくて困っています。 文字列をatofで変換した場合、doubleでは上手く表示できるのですが、floatでは少数が上手く表示できません。 また、sscanfでも試したのですが、上手く表示できませんでした。 どうしても、doubleを使わずにfloatであらわしたいと考えています。 どうかこのプログラムの問題点のご指摘お願いします。 実行結果 53.196600 53.196602 53.196602 ソース #include<stdio.h> #include<stdlib.h> #include<string.h> main() { char str[100]="53.1966"; double b; float c,d; b = atof(str); printf("%f\n",b); c = (float)atof(str); printf("%f\n",c); sscanf(str,"%f",&d); printf("%f\n",d); } 開発環境 windowsXP cygwin
- ベストアンサー
- C・C++・C#
- sprintf関数での文字列変換について
マイコンにて、 C言語で浮動小数点の数値を表示するプログラムを作成しているのですが、 PRINT_OUT("123.456"); のように、文字列を直接指定した場合は正しく表示されるのですが、 sprintf()関数を用いて、浮動小数点を文字列に変換した場合、 buf char[10]; sprintf(buf,"%lf",123.456); PRINT_OUT(buf); とした場合はプログラムが暴走?(恐らく配列破壊を起こしていると 思われますが、)してしまい、上手く動作しません。 (但し、整数の場合は正常に動作します。) そこで、質問させていただきたいのですが、 "123.456"のように直接文字列を指定した場合と、浮動小数点123.456 をsprintf()関数を用いて文字列に変換した"123.456"の書式に何か 違いはあるのでしょうか?よろしくお願い致します。
- ベストアンサー
- C・C++・C#
- 8桁文字列を16進数バイト配列に変換
お世話になります。 VB2005を使用しています。 温調器から温度データを引っ張るプログラムを作成しています。 8桁の文字列を16進数バイト配列に変換したいのですが、GetBytesでは10進数バイト配列に変換されてしまいます。 8桁の文字列又は10進数バイト配列を16進数バイト配列に変換する方法はないでしょうか? 文字列を1文字ずつ16進数に変換して配列に組み込んでいくしかないのでしょうか? よろしくお願い致します。
- ベストアンサー
- Visual Basic
- 文字列の受け渡し
先ほど質問したものですが、お願いします。 関数で戻り値として、文字列を扱う場合、 char* sendstr(void){ char* mychar="HELLO!!\n"; return mychar; } ならうまくいきますが、 char* sendstr(void){ char mychar[]="HELLO!!\n"; return mychar; } だと、うまくいきません。 配列の場合、mycharで、ポインタと なると、思うのですが。 後者の方が、分かりやすそうですが、 だめなのでしょうか。 (char*は文字型のポインタで、文字列 へのポインタになるのでしょうか)。
- ベストアンサー
- C・C++・C#
- エクセルの文字列を数式に変換する方法
エクセルに「=A1+A2」という文字列を値コピーでペーストしたのですが、この文字列を簡単に数式に変換する方法はないでしょうか? 文字列のはいったセルをダブルクリックすれば、文字列が数式にかわって、A1+A2を計算しれくれるのですが、ひとつひとつのセルをダブルクリックするのが大変で・・・。 よろしくお願いいたします。
- ベストアンサー
- オフィス系ソフト
- 印刷終了後に「印刷できません32」というエラーメッセージが表示されるトラブルについてお困りですか?本記事では、その原因と対策方法について解説します。
- 質問内容:印刷終了後に「印刷できません32」と表示されるエラーメッセージが表示されます。内部に残存物はないように思われる。お使いの環境について教えてください:Windows10、無線LAN、関連するソフト・アプリは不明、電話回線の種類は不明。
- お使いのプリンターが印刷終了後に「印刷できません32」と表示されるエラーメッセージを表示している場合、以下の対策方法を試してみてください。まず、プリンターの電源を切り、内部に残存している可能性のある物を取り除いてください。そして、プリンターのドライバを最新バージョンにアップデートし、再度印刷を試してみてください。それでも解決しない場合は、紙詰まりや他のトラブルが原因かもしれないので、修理サービスへのご相談をお勧めします。
お礼
ありがとうございます。sscanfなんてのもあるんですね、勉強になりました かきわすれましたが、ちなみに、c言語での質問でした。 処理系によっても使える関数が変わってくるんですね、ありがとうございました。