質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

Q&A

解決済

2回答

4152閲覧

BMI エラー C# 助けてください

xlostdjx

総合スコア39

C#

C#はマルチパラダイムプログラミング言語の1つで、命令形・宣言型・関数型・ジェネリック型・コンポーネント指向・オブジェクティブ指向のプログラミング開発すべてに対応しています。

0グッド

0クリップ

投稿2018/05/28 06:24

//bmi指数算出

//ouble.Parse 数値の文字列形式を、等価の倍精度浮動小数点数に変換するメソッド  double Text1 = double.Parse(textHeight.Text) / 100; ←←ここがエラー文だと思います、 double Text2 = double.Parse(textWeight.Text); double cale = Text2 / (Text1 * Text1) ;

型 'System.FormatException' のハンドルされていない例外が mscorlib.dll で発生しました

追加情報:入力文字列の形式が正しくありません。

とでたのですが 改善方法がわかりません、

力 かしてください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Chironian

2018/06/05 05:56

ちょっとだけ気になるのですが一連のご質問の「主題」はBMIではないと思います。ですので一番目立つところにBMIを記載するのは好ましくないです。プログラミング関係の3文字略語ではないか?と検索する人もいます。(私もその一人)
guest

回答2

0

ベストアンサー

textHeight.TextあるいはtextWeight.Textの内容がDoubleの変換において不正だ、ということです。
その内容を、正当なものに修正しましょう。

で、その内容が不正の場合はどうしたいですか?

投稿2018/05/28 06:30

y_waiwai

総合スコア87747

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

xlostdjx

2018/05/28 06:34

textHeight.Textに÷100をしたいです。
y_waiwai

2018/05/28 06:36

textHeight.Text、textWeight.Textの内容はなんでしょうか
xlostdjx

2018/05/28 06:39

内容は 身長のテキストを打ったときの数字です
y_waiwai

2018/05/28 06:41

その数字の内容をあげてください > 追加情報:入力文字列の形式が正しくありません。 ここに出ているとおり、その内容が数値に変換できない、といっています。 正しく数値に変換できるような内容に修正しましょう
xlostdjx

2018/05/28 06:43

textHeight.Textが165 、textWeight.Textが60です
YAmaGNZ

2018/05/28 06:53

double Text1 = double.Parse("165") / 100; double Text2 = double.Parse("60"); ではエラーは出ません。 double.Parse("") とするとSystem.FormatExceptionが発生します。 その値はデバッガで確認しましたか?
xlostdjx

2018/05/28 06:59

あの、 double.Parse("") のときに System.FormatExceptionが発生しない方法はありますか?? double.Parse("") のときもあるので、その対応を書きたいです、
YAmaGNZ

2018/05/28 07:28

Parse前に判断するなり、TryParseするなり、ご自由に
y_waiwai

2018/05/28 14:23

遅くなりました 上のコメントにある通り、TryPerseで変換できるかどうか、がわかるのでそれで判断するというのが可能です。(まー、例外を補足するというのアリです)また、空白だけのときになんかするなら、string.isNullorWhiteSpaceとか使うとかいう手もありますねー
guest

0

Double.Parse メソッド (String)を確認して頂ければ分かりますが
System.FormatExceptionが発生する時は、入力された文字列が「有効な形式で数値を表していません。」

提示されたソースですと、textHeight.TexttextWeight.Textの中身を確認してみてください。

投稿2018/05/28 06:40

YAmaGNZ

総合スコア10242

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

xlostdjx

2018/05/28 07:35

あの、 double.Parse("") のときに System.FormatExceptionが発生しない方法はありますか?? double.Parse("") のときもあるので、その対応を書きたいです、
YAmaGNZ

2018/05/28 07:53

Parse前に判断するなり、TryParseするなり、ご自由に
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問