dポイントプレゼントキャンペーン実施中!

ご存知の方がおりましたら、教えてください。
double型変数値の整数部分のみStringで取得したいのですが、
Javaの場合、どうすれば簡単に取得できますでしょうか?
(double)32000.0

(String)32000

A 回答 (4件)

int に納まらないなら、long にキャストでよいのでは?


long に納まらない数値が対象となるようなら、BigDecimalを中継する必要があるでしょう
((new BigDecimal(double_data) ).toBigInteger()).toString()
    • good
    • 2

double値の整数部分ならMath.floorあるいはMath.ceil(負の場合)で取れますが。


Stringとして取るならString#formatを使えば良いのではないでしょうか。精度指定で小数点以下を表示しないようにできると思います。
ただ大きい桁数だとANo.3で書かれているようにBigDecimal経由にしないと書けないかもしれません。
    • good
    • 1
この回答へのお礼

みなさん、色々とありがとうございました。
とりあえず、回答を参考にして、
bestな方法を探りたいと思います。

お礼日時:2007/12/09 08:24

double d = 32000.0;


String s = Integer.toString((int)d);

この回答への補足

回答ありがとうございます。
ただ、intの範疇を超える数字があると、
桁落ちしてしまうので、できればそれは避けたいのですが。
たとえば、
30000000000.0とかです。

補足日時:2007/12/08 11:22
    • good
    • 0

こんなんじゃだめ?


double d = 3.2;
Double dd = new Double(d);
System.out.println(String.valueOf(dd.intValue()));
思いつきですから。
    • good
    • 1

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