-PR-
解決済み

int型の値をStringに変換して表示しようとしたけど

  • 困ってます
  • 質問No.58737
  • 閲覧数402
  • ありがとう数2
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 100% (8/8)

すごく初歩的なことなんですが、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);

お手数ですが、どこがいけないのか?教えてください。
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

質問者が選んだベストアンサー

  • 回答No.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の参考書の「変数型」のあたりの説明をもう一度読んでみましょう。
お礼コメント
gal

お礼率 100% (8/8)

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

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

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

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

どうもありがとうございました。
投稿日時 - 2001-04-02 17:19:16
-PR-
-PR-
このQ&Aで解決しましたか?
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


専門家があなたの悩みに回答!

-PR-

ピックアップ

-PR-
ページ先頭へ