あなたの習慣について教えてください!!

すごく初歩的なことなんですが、int型の値をString型に変換して
TextFieldに表示させたいんです。

やり方としてはStringの値をわざわざint型に変換し、その値をさらに
String型に変換しているんです。値は、文字列の先頭に”0”が付いて
いるため、画面上表示させる時には、先頭ゼロを削除したいんです。
つまりStringの値は”0123.58”です。これを最終的に”123.58”と
してやりたいんです。

そして、上記を下記のようにやってみた所、TextFieldはぴくりとも動
きませんでした。
String testA = "0123.58";
int suji = Integer.parseInt(testA);
String kotae = new Integer(suji).toString();
textfield_A.setText(kotae);

お手数ですが、どこがいけないのか?教えてください。

A 回答 (1件)

Javaで扱う数値には、整数型と実数型(小数点が付く数)の区別があります。



Integerは整数を表します。したがって、Integer.parseInt()に実数を与えると“NumberFormatException”という例外(エラー)が発生してしまいます。TextFieldが動かない原因は、おそらく2行目の例外で止まっているからです。

実数を扱うには、intやIntegerの代わりに“Float”あるいは“Double”を使います。2行目と3行目を次のようにしてみてください。

float suji = Float.parseFloat(testA);
String kotae = new Float(suji).toString();

これで、kotaeに“123.58”が入るようになります。

Javaの参考書の「変数型」のあたりの説明をもう一度読んでみましょう。
    • good
    • 0
この回答へのお礼

御礼が遅くなりましてすいませんでした。

ご指摘の通り、int型では小数点の実数を扱う事が出来ない事に気付きました。
もうちょっと冷静に考えてから質問すれば、お手間をおかけせずに済んだと
ちょっと反省しております。

それで質問した件ですが、一応出来ました。
どういうわけか、float型ですと出来ませんでしたが、その後すぐにdouble型
でやってみた所うまくいきました。
なぜかはわかりませんが、とりあえず何とか出来るようになりホッとしています。

色々お手数をおかけしました。

どうもありがとうございました。

お礼日時:2001/04/02 17:19

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


おすすめ情報