unityで計算ツールを作っています。
いくつかのテキストボックスがあり、それらに数値を入力するとテキストに表示されるような感じです
実行してテキストボックスに数値を入力してエンターキーを押すと以下のエラーメッセージが発生しました。
発生している問題・エラーメッセージ
FormatException: Input string was not in a correct format.
System.Number.ParseSingle (System.String value, System.Globalization.NumberStyles options, System.Globalization.NumberFormatInfo numfmt)
エラーメッセージ
該当のソースコード
using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.UI; public class kkk : MonoBehaviour { public Text Fomula; InputField hougubairitu; InputField classaisyou; InputField tentijin; InputField boost; InputField classhosei; InputField cardhosei; InputField ATK; InputField reisouATK; InputField kougeki; InputField bougyo; InputField iro; InputField irodebahu; InputField hougu; InputField tokkoubahu; InputField tokkouhougu; InputField koteidamage; InputField tokusyutaisei; // Start is called before the first frame update void Start() { hougubairitu = GameObject.Find("hougubairitu").GetComponent<InputField>(); classaisyou = GameObject.Find("classaisyou").GetComponent<InputField>(); tentijin = GameObject.Find("tentijin").GetComponent<InputField>(); boost = GameObject.Find("boost").GetComponent<InputField>(); classhosei = GameObject.Find("classhosei").GetComponent<InputField>(); cardhosei = GameObject.Find("cardhosei").GetComponent<InputField>(); ATK = GameObject.Find("ATK").GetComponent<InputField>(); reisouATK = GameObject.Find("reisouATK").GetComponent<InputField>(); kougeki = GameObject.Find("kougeki").GetComponent<InputField>(); bougyo = GameObject.Find("bougyo").GetComponent<InputField>(); iro = GameObject.Find("iro").GetComponent<InputField>(); irodebahu = GameObject.Find("irodebahu").GetComponent<InputField>(); hougu = GameObject.Find("hougu").GetComponent<InputField>(); tokkoubahu = GameObject.Find("tokkoubahu").GetComponent<InputField>(); tokkouhougu = GameObject.Find("tokkouhougu").GetComponent<InputField>(); koteidamage = GameObject.Find("koteidamage").GetComponent<InputField>(); tokusyutaisei = GameObject.Find("tokusyutaisei").GetComponent<InputField>(); Fomula = GameObject.Find("Fomula").GetComponent<Text>(); } public void CalcTotal() { float input1 = float.Parse(hougubairitu.text); float input2 = float.Parse(classaisyou.text); float input3 = float.Parse(tentijin.text); float input4 = float.Parse(boost.text); float input5 = float.Parse(classhosei.text); float input6 = float.Parse(cardhosei.text); float input7 = float.Parse(ATK.text); float input8 = float.Parse(reisouATK.text); float input9 = float.Parse(kougeki.text); float input10 = float.Parse(bougyo.text); float input11 = float.Parse(iro.text); float input12 = float.Parse(irodebahu.text); float input13 = float.Parse(hougu.text); float input14 = float.Parse(tokkoubahu.text); float input15 = float.Parse(tokkouhougu.text); float input16 = float.Parse(koteidamage.text); float input17 = float.Parse(tokusyutaisei.text); float Total = (input7 + input8 * (input1/100) * input6 * (1.0f +(input11/100)+(input12/100)) * input5 * input2 * input3 * 1 * 0.23f * (1.0f + (input9/100)+(input10/100))*(1.0f - (input17/100))*(1.0f + (input4/100)+(input14/100)+(input13/100)) * (input15/100) * input16); Fomula.text = Total.ToString();
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。