OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

Double,Longをファイルに書き込み

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

お礼率 69% (145/210)

以下のように、Double,Longをファイルに書き込もうとした場合、どのようにキャストをすればよろしいのでしょうか?
(String)でString型への変換や
Integer.parseInt等を試したのですが、できませんでした。よろしくお願いします。

import java.io.*;

class test
{
public static void main(String[] args)
{
double dNumber = 3.45;
long lNumber = 12345;

BufferedWriter bw = new BufferedWriter(new FileWriter("test.txt"));
bw.write(dNumber);
bw.write(lNumber);

} //end main
} //end class
通報する
  • 回答数3
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.2
レベル14

ベストアンサー率 50% (1122/2211)

予約されてるらしいので、もう一度お邪魔します :-)

ぱっと思い付くのは二つ。ネイティブな型を使うのであれば、こんな感じで。

double dNumber = 3.45;
bw.write("" + dNumber);

クラスを使うんであれば、toString() メソッドを使う。

Double dNumber = new Double(3.45);
bw.write(dNumber.toString());

  *  *  *

ファイル名が .txt だから、テキストでの出力で良いのだと思うけど、
蛇足を少々。

・このままのソースだと、数字がくっついちゃう
・BufferedWriter の close() をするように
お礼コメント
fuyu

お礼率 69% (145/210)

二回連続で回答していただきありがとうございます。
おかげさまで今回のプログラムは無事にコンパイルでき、ロジックエラーが少々あったものの、それを修正して無事に動くようになりました。
今回はありがとうございました。
投稿日時 - 2001-07-26 11:02:31
-PR-
-PR-

その他の回答 (全2件)

  • 回答No.1
レベル11

ベストアンサー率 49% (139/279)

各クラスのtoString()を使えばOKですよ。 Double dNumber1 = new Double( 3.45 ); Long lNumber1 = new Long( 12345 ); System.out.println( dNumber1.toString() ); System.out.println( lNumber1.toString() ); doub ...続きを読む
各クラスのtoString()を使えばOKですよ。

Double dNumber1 = new Double( 3.45 );
Long lNumber1 = new Long( 12345 );

System.out.println( dNumber1.toString() );
System.out.println( lNumber1.toString() );

double dNumber2 = 3.45;
long lNumber2 = 12345;

System.out.println( Double.toString( dNumber2 ) );
System.out.println( Long.toString( lNumber2 ) );

前者は、最初からオブジェクトとして書いた場合、後者は、原始型を使用していますが、DoubleクラスのクラスメソッドtoString()を使って変換しています。
お礼コメント
fuyu

お礼率 69% (145/210)

おかげさまで解決いたしました。回答ありがとうございました。
投稿日時 - 2001-07-26 10:58:36
  • 回答No.3
レベル10

ベストアンサー率 18% (32/173)

書きこむだけであれば、DoubleクラスやLongクラスのtoStringメソッドで、文字列の変換して書きこむってことも出来ますが、これでは桁数が解らなくなるのでセパレータを入れる等の細工が必要ですね。 あとは、RandomAccessFileクラスを使う方法もあります。 このクラスはwriteDoubleや、writeLongといった書き込みメソッドがあります。また、readDoubleや、re ...続きを読む
書きこむだけであれば、DoubleクラスやLongクラスのtoStringメソッドで、文字列の変換して書きこむってことも出来ますが、これでは桁数が解らなくなるのでセパレータを入れる等の細工が必要ですね。

あとは、RandomAccessFileクラスを使う方法もあります。
このクラスはwriteDoubleや、writeLongといった書き込みメソッドがあります。また、readDoubleや、readLongと言った読み出しメソッドもあります。
お礼コメント
fuyu

お礼率 69% (145/210)

回答ありがとうございます。
ご紹介いただいたRandomAccessFileクラスは多分今まで使ったことがないと思うので、APIで少し見てみたいと思います。
投稿日時 - 2001-07-26 11:05:26
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

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

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

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ