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

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

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

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

Q&A

解決済

4回答

10492閲覧

float型をstring型に変換できない

ichigo_0308

総合スコア41

Unity

Unityは、Unity Technologiesが開発・販売している、IDEを内蔵するゲームエンジンです。主にC#を用いたプログラミングでコンテンツの開発が可能です。

0グッド

0クリップ

投稿2020/07/08 08:19

<実現したいこと>

float型をTextに表示させたいのですが、そのまま指定してしまうとバーチャルスタジオの方でエラーが出てしまいます。

<エラーコード>

型 'float'を型 'string'に暗黙的に変換できません

<ソースコード>

C#

1using System.Collections; 2using System.Collections.Generic; 3using UnityEngine; 4using UnityEngine.UI; 5 6public class GameScript : MonoBehaviour 7{ 8 public float longTapTime=2.0f; 9 float nowTapTime; 10 float safeTime=1.0f; 11 bool isLongtap; 12 bool isLongtapclear; 13 int level; 14 public Text countText; 15 public Text Text1; 16 public Text Text2; 17 public string count; 18 bool startflag=false; 19 // Start is called before the first frame update 20 void Start() 21 { 22 level = PlayerPrefs.GetInt("level"); 23 kabe(); 24 count3(); 25 } 26 27 // Update is called once per frame 28 void Update() 29 { 30 if (startflag) 31 { 32 Text1.text = longTapTime; 33 if (Input.GetMouseButton(0)) 34 { 35 nowTapTime += Time.deltaTime; // 秒数をカウント 36 37 // タップし続けた時間が規定値を超えたらロングタップとして扱う 38 if (nowTapTime >= longTapTime && !isLongtap) 39 { 40 StartCoroutine("WaitASecond"); 41 nowTapTime = 0; // タイマーリセット 42 isLongtap = true; // ロングタップしたフラグを立てる // Prefabの作成 43 Debug.Log("Long Tap"); 44 } 45 46 } 47 else if (Input.GetMouseButtonUp(0)) 48 { 49 // クリックを終えたら初期化 50 nowTapTime = 0; 51 isLongtap = false; 52 } 53 } 54 } 55 public void kabe() 56 { 57 safeTime = 1.0f / (level + 1.0f); 58 safeTime *= 3.0f; 59 Debug.Log(safeTime); 60 } 61 public void count3() 62 { 63 count = "3"; 64 countText.text = count; 65 Invoke("count2", 1); 66 } 67 public void count2() 68 { 69 count = "2"; 70 countText.text = count; 71 Invoke("count1", 1); 72 } 73 public void count1() 74 { 75 count = "1"; 76 countText.text = count; 77 Invoke("start", 1); 78 } 79 public void start() 80 { 81 count = "start!"; 82 countText.text = count; 83 Invoke("startsetting", 1); 84 } 85 public void startsetting() 86 { 87 startflag = true; 88 89 } 90 IEnumerator WaitASecond() 91 { 92 yield return new WaitForSeconds(1f); 93 float diff = longTapTime - nowTapTime; 94 if(diff<0) 95 { 96 diff *= -1; 97 } 98 if(diff<safeTime) 99 { 100 101 } 102 print((longTapTime - safeTime < nowTapTime) + " : " + (longTapTime + safeTime > nowTapTime) + " : " + !isLongtapclear); 103 if ((longTapTime - safeTime < nowTapTime) 104 && (longTapTime + safeTime > nowTapTime)&&!isLongtapclear) 105 { 106 isLongtapclear = true; 107 Debug.Log("tapclear!"); 108 nowTapTime = Random.Range(2,6); 109 } 110 else 111 { 112 Debug.Log("OUT"); 113 } 114 } 115} 116

<試したこと>

string型を作って、その代入する方法はやってみましたが、同じようなエラーが出ています。

unityに詳しい方、ご回答お願いします。

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

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

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

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

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

fiveHundred

2020/07/08 08:42

普通にキャストすればいいのでは?
ichigo_0308

2020/07/09 08:12

それは回答でお願いします????
Zuishin

2020/07/12 02:27 編集

なぜ、こんなに長時間解決できないんでしょう? どこに問題があるか示せますか? > string型を作って、その代入する方法はやってみましたが、同じようなエラーが出ています。 情報があいまいすぎるので、はっきりしない限り回答者は具体的な回答ができません。 みつけた正しい方法で同じエラーが出るなら、こちらの示す回答でも同じ結果になると思います。 とりあえず ToString() を試していないならやってみてください。
ozraru

2020/07/12 04:23

調べてやってみたのならそのやってみたソースコードを貼ってください。 質問は編集できます。 <試したこと>に追記してください。
Zuishin

2020/07/13 08:28

NG です。
Zuishin

2020/07/13 08:34

繰り返した方がいいですか?
ichigo_0308

2020/07/13 08:36

okですといったときにNGですと言ったので何だろうと思ったので
ichigo_0308

2020/07/13 08:39

>調べてやってみたのならそのやってみたソースコードを貼ってください。 ozraruさんの回答でコメントしたのですが、その件を見ていないなら見てほしいです。一応最初に出てきたサイトを参考にしたのですが、float→stringができないということでした。(ozraruさんの質問にも書きました)どのサイトを言いたいのか教えてください。検索結果だけだとどのサイトか迷ってしまう可能性があるので、できればサイトのリンクを貼ってほしいです。
fiveHundred

2020/07/13 08:50 編集

他の回答者さんの通り「C# float 文字列変換」や「C# float string 変換」で出てくるサイトであれば、(上位であれば)どのようなサイトを見ても出来るような内容です。 迷うのであれば、どれか一つのサイトに絞ればいいだけの話です。 むしろ、あなたが参考にしているサイトを提示したほうがよろしいかと思います。 どのサイトを見ていないのであれば、あるいは内容を理解しようとしていないのであれば、それは論外です。
Tto777

2020/07/13 09:53 編集

okですと言う割にozraruさんが要請する試したコードすら記載しないのは全然okではないです。 言われた事はせめてその文章通りキッチリおこなうようお願いします。 回答者に対して失礼です。 ちなみにその最初に出てきたサイトには文字列をfloatに変換する説明もあり試してみましたが問題となっている箇所は問題無く直せました。
dodox86

2020/07/13 10:15

誰も指摘されていない(<恐らくそれどころではない)ので一応しますが、Unityは関係無く、C#の問題です。あと、「バーチャルスタジオ」ではなく多分、「Visual Studio(ビジュアルスタジオ)」です。
guest

回答4

0

ベストアンサー

C#

1 float val = 0.1f; 2 string str = val.ToString();

とりあえず、上記で済むと思います。
ちゃんと動作も確認しました

ですが、この方法はZuishinさんの言っている、

とりあえず ToString() を試していないならやってみてください。

と同じ内容です。
なので、ちゃんと内容に耳を傾けていれば、このように長期間かかることはなかっただろうと思います。

あなたがやっている「他の人の指摘に従わない」という行為は、あなたにとって非常に不利益なことです。
この手のものは「どこが間違っているのか分からない」から指摘しているのであり、「わざと時間をかけよう」という意図は全くありません。

また、「サイトを提示してほしい」とのことですが、本来であれば「あなた自身が調べる」ことであり、むしろあなたが調べたサイトを提示するべきです。
そうでないと、丸投げという、このサイトでは非推奨とされている行為と同等になります。
このサイトでは「あなたが解決する為に試してみたこと」を書くことを推奨しておりますがこれには自分で調べたサイトも含まれます。
提示せずに、そのサイトと同じことを投稿してしまうと、お互いにとって不幸でしかありません。

投稿2020/07/13 09:43

fiveHundred

総合スコア9803

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

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

ichigo_0308

2020/07/14 08:34

fiveHundredさんの回答で解決しましたのでベストアンサーとしていただきました。ルールも読んだのですが、ルールがあまりわからなくてそのままteratailを使っていました。コメントをしていていただいた方・回答をしていただいた方・指摘をしていただいた方には大変迷惑をおかけしました。本当にすみませんでした。ちゃんとルールを見て、理解してからteratailを使用するようにします。繰り返しになりますが、回答・コメント・指摘をしていただいた方には大変迷惑をおかけしました。本当にすみませんでした。以降気を付けます。
guest

0

投稿2020/07/08 10:07

ozraru

総合スコア150

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

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

ichigo_0308

2020/07/11 01:06

検索して、方法を試してみましたがエラーが出てしまいました。どうすればいいのでしょうか
ozraru

2020/07/11 03:47

変更したソースコードとエラーを貼ってください...
ichigo_0308

2020/07/12 02:05

やったのですが、float→stringができないようです。ozraruさんはどのサイトを参考にしたのでしょうか。
maisumakun

2020/07/12 02:08

えっと、書いてみたコードはどこでしょうか?
guest

0

「C# float 文字列変換」でぐぐるとしあわせになれるかと

投稿2020/07/08 08:56

y_waiwai

総合スコア87774

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

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

ichigo_0308

2020/07/11 01:06

検索して、方法を試してみましたがエラーが出てしまいました。どうすればいいのでしょうか
y_waiwai

2020/07/11 09:58

その試したというコードを提示してくれれば、それについてアドバイスできますが、 なにもなしだとどーしよーもできません
guest

0

エラーは何行めですか?

投稿2020/07/12 13:41

Rmg_sion

総合スコア11

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問