プロが教えるわが家の防犯対策術!

例えば
a[1]='1'
a[2]='.'
a[3]='2'
と配列に入っていてそれをfloat型の1.2として
使うにはどうしたらよいのでしょうか?

A 回答 (7件)

float = Float.parseFloat(new String(a,1,3)) ;



char配列の部分文字列を作ってから、floatにします。
    • good
    • 0

3番目に回答したUKYです。



もっと簡単な方法がありましたね。
私が再び回答する前に他の方に先を越されてしまいましたが……


さて、ちょっと気になったのですが、

a[1]='1'
a[2]='.'
a[3]='2'

ではなくて

a[0]='1'
a[1]='.'
a[2]='2'

ではありませんか?

配列の番号(インデックス)は0から始まるので、最初の番号を飛ばしているのは何か特別な理由があるのかと少し疑問に思いました。

配列の要素の番号が 0,1,2 なら、floatに直すのは4番目の soh さんの回答でよいと思いますし、配列のデータも扱いやすいのではないかと思いました。

番号を 1,2,3 にするのなら、5番目の takaP- さん、または6番目の osamuy さんのやり方でfloatに直すことになります。
    • good
    • 0

あ、Javaでしたか。



float f = Float.parseFloat( String.valueOf( a, 1, 3 ) );

――とか。
    • good
    • 0

こんちゃ、sohです


普通にクラスフライブラリ使って

float f = Float.parseFloat(new String(a));

じゃだめなん?
(多分だめなんだろうから自信なしにチェック)
    • good
    • 0

Java 言語ですよね?



配列の長さが3と決まっているなら、

StringBuffer sb = new StringBuffer();
sb.append(a[0]).append(a[1]).append(a[2]);
float floatValue = Float.parseFloat(sb.toString());

で、floatValue に値が入ります。

配列の長さがわからない場合は、

StirngBuffer sb = new StringBuffer();
for (int i = 0; i < a.length; i++) {
  sb.append(a[i]);
}
float floatValue = Float.parseFloat(sb.toString());

です。
    • good
    • 0

Javaはあまり触ったことがないので恐縮ですが、



float f = Float(a[1]+a[2]+a[3]);

で通りませんか?

参考URL:http://java.sun.com/j2se/1.3/ja/docs/ja/api/java …
    • good
    • 0

配列aのサイズが5以上で、内容を破壊して良いのなら、



a[4] = (char)0; // '\0'
float f = atof( a+1);

――でどうでしょう。

参考URL:http://www.linux.or.jp/JM/html/LDP_man-pages/man …
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!