• ベストアンサー

C#で文字列を数値に変換する方法

Visual Stdio .NET 2003を使っています。 C#で文字列(数字)を数値に変換したいのですが、 VBでいうVal関数のような物はありますか?例えば、 double a; a = Val("3.14"); とすると、aに3.14が入るような関数を使いたいです。 検索したのですが、見つかりませんでした。宜しくお願いします。

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

  • ベストアンサー
  • JeanneNet
  • ベストアンサー率48% (100/208)
回答No.3

#2 の者です。。。 今回の場合は、System.Double.Parse() でしたね。。。 double.Parse() でも可能です。(上記と同じものです)

thyristor
質問者

お礼

教えて頂いた方法で変換することができました。ありがとうございます。

その他の回答 (2)

  • JeanneNet
  • ベストアンサー率48% (100/208)
回答No.2

こんにちは、じゃんぬねっと です。 .NET Framework に精通しましょう。 Int32.Parse() メソッドを使用します。 もちろん、数値なのかという確認は必要です。

回答No.1

これでできたと思うけどね。    ↓ double a; char  *b="3.14"; …               sscanf( b, "%f", &a);      ┌┘ │  └──┐      ↓  ↓     ↓     文字列 変換指定子 結果格納変数 ただし変数aには誤差付きで3.13999…が置数されますよ。 文字列,変換指定子,結果格納変数等については文法書をひもといてください。 わからなければ別に質問をたててください。

thyristor
質問者

お礼

ご回答ありがとうございます。sscanfはライブラリに用意されてないみたいです。C/C++で作る時に使わせて頂きますね。

関連するQ&A

  • カンマの含まれる文字列の数値変換方法について

    VB.NETでプログラミングしています。 String型の文字列を Double型の数値に変換するときに 一般的にはVal関数を使いますが、 カンマが含まれる文字列"111,111"を 数値変換したい場合には単純にVal関数を 使用しただけではうまくいかないようです。 上の例で数値変換すると"111"になってしまうようです。 そこで質問なのですが、 何か簡単にできるうまい方法はないでしょうか? 関数があればご教示ください。 以下、Val関数の説明の抜粋です。 解説 文字列中に数字以外の文字が見つかると、Val 関数は読み込みを中止します。円記号 (\) やカンマ (,) など、通常は数値の一部と見なされる記号や文字も、Val 関数は数値として解釈しません。

  • 文字列が数値に変換されない

    文字列の数字をVALUE関数で数値に変換したくても数値になりません。 ♯N/Aと表示されるだけです。 関数を入れたあとに表示形式を数値にしても変わりません。 元の文字列はVLOOKUP関数で検索した数字です。 これができないと仕事が進みません。急いでます。お願いします。

  • 文字列→数値変換関数

    ・数字文字列を数値化する関数AtoS()を制作する。 書式:short AtoS(char *pStr, int *pRetCode); 引数:char *pStr; 文字列の先頭アドレス    int *pRetCode; 動作の正否を返す 戻り値:pStrを数値化した値 処理: pStrで与えられた文字列をshort型に変換する。 呼び出し側の書式は以下の通りです。 void main(void) {  short val; int code; val = AtoS("1234", & code); printf("%d\n",val); val = AtoS("-789", & code); printf("%d\n", val); } です。専門学校の明日の朝までの課題なのでどうか、どなたか助けて下さい。 

  • 数値を文字列に変換

    文字列を数値変換する関数はありますが、逆に数値を文字列に変換するにはどうやればよいのでしょうか?

  • access2000 クエリで文字列を数値に変換

    access2000 クエリで文字列を数値に変換 商品の管理DBをaccessで入力し、テーブルをexcelにエクスポートして並び替えやその他の編集をしています。 テーブルに「数量」というフィールドがあり、数字入力が主ですが、商品によっては「無制限」や「-」のように文字列を入力しなければならない為、「数量」は「数値型」ではなく「テキスト型」になっています。 excelへエクスポートした時に、「10」などは数値として認識させ、「無制限」などはそのままの文字列にしたいです。 クエリの式に「Val([数量])」としてみたところ、「10」は数値として変換されましたが、数値ではない文字列は全て「0」になりました。 また、「15,000」は「15」になりました。(カンマが文字列な為) これを 「10」→「10」(数値) 「無制限」→「無制限」(文字列) 「15,000」→「15000」(数値) にするような関数はありませんでしょうか。 excel2007のエラー処理(セルを選択した時に出る「!」で「数値に変換する」)と同じような挙動にしたいです。 宜しくお願いします。

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

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

  • 文字列を含むセルを数値に変換する方法

    79062150007という数字の7906という部分だけ取り出すのに、midを使ってやってみたのですが、 =mid(文字列,1,4) とそのまま残るだけで、うまく変換しません。 文字列を数値に変換する方法を調べ、色々試してみたのですが、うまくいきません。 どうすれば良いのでしょうか?

  • 文字列から数値を抽出したいのですが・・。

    文字列から数値(integer型)を抽出したいのですが、うまくいきません。 val関数だと文字の途中の数値が判別できないし、困っています。 よろしくお願いします。 ※以下、文字列と数値の関係です。 ・"文字列" → 抽出したい数値  "0k,abc,5k,abc3.0" → 0530  "abc()_3t" → 3

  • 指定の文字列を指定の数値に変換する方法

    エクセル2002で、指定の文字列を指定の数値に変換する方法を教えて下さい。 下記から、数字を文字列に変換する方法はみつけたのですが、逆ができません。。 [書式(O)]→[セル(E)...]→[セルの書式設定]→[表示形式]→[分類(C)]→[ユーザー定義]内。 [=1]"ABC";[=2]"赤青黄色";"未定" もちろん、関数でもかまわないのですが、適当なものが見つかりません。 例えば、こんな感じに変換。 ABC     →1 赤青黄色     →2 大根にんじん →3 昼休み    →4 放課後   →5 よろしくお願いします!

  • 数値→文字列変換関数

    ・数値を文字列化する関数StoAを作成する。 書式:char *StoA(short nVal); 引数:short nVal; 文字列化する数値 戻り値:数字文字列のポインタ 処理:nValで与えられたshort型の数値を文字列に変換し、そのポインタを返す。 呼び出し側の書式は以下の通り。 void main(void) { char *pc; pc = StoA(123); printf("%s\n", pc); pc = StoA(-1234); printf("%s\n", pc); } です。自分で途中までしたので見てください。 #include <stdio.h> cahr *StoA(short nVal); void main(void) { char *pc; pc = StoA(123); printf("%s\n", pc); pc = StoA(-1234); printf("%s\n", pc); } char *StoA(short nVal) { ここからがわかりません。どなたか助けて下さい。

専門家に質問してみよう