• ベストアンサー

文字列を数字型に変換したい

いつもお世話になっております。 eclipseというツールでC言語のプログラムを触っているのですが、 文字列の数字を数値型に変換して掛け算をしたいのですが、 型変換の関数はありますでしょうか??

質問者が選んだベストアンサー

  • ベストアンサー
  • jacta
  • ベストアンサー率26% (845/3158)
回答No.3

整数であればstrtolまたはstrtoul、浮動小数点数であればstrtodを使ってください。 もっと大きな数を扱いたいなら、整数であればstrtollまたはstrtoull、あるいはstrtoimaxまたはstrtoumaxを、浮動小数点数であればstrtoldを使います。 なお、Eclipseということは、コンパイラはMinGWの可能性がありますが、MinGWではlong double型を使うと不具合に遭遇する可能性が高くなります。strtoldを使う場合は注意してください。 なお、atoiやatofはエラーチェックができないので、避けたほうがよいでしょう。

参考URL:
http://www.kijineko.co.jp/tech/superstitions/conversion-from-string-to-integer-with-atoi.html
TEVEZ
質問者

お礼

jacta 様 ご回答ありがとうございます。 文字列から数値への変換対象が「1.0」や「0.8」といった 小数点ありのものになるのですが、ご紹介があったように eclipseという開発環境下でのお教え頂いた関数の使用は 難しいのでしょうか。。。

その他の回答 (2)

  • Tacosan
  • ベストアンサー率23% (3656/15482)
回答No.2

strto系, あるいは sscanf の方がよいと思います>#1.

  • hirai7
  • ベストアンサー率31% (29/91)
回答No.1

文字列を整数型に変更する場合は atoi( )です。 用法はこんな感じ int x; char s[ ] = "123"; x = atoi(s); 参考までに http://www9.plala.or.jp/sgwr-t/c/sec07.html

関連するQ&A