
No.1ベストアンサー
- 回答日時:
まず、DoubleクラスのintValue()メソッドを使えば、整数部がはじける。
IntegerクラスのdoubleValue()メソッドを使えば、そのint値をdouble値に変換できるので、元のdouble値と演算できるね。具体的なサンプルを用意したので参考にして欲しい。
public class A {
public static void main(String[] args) {
Double d = new Double(1.25);
Integer i = new Integer(d.intValue());
Double d2 = new Double(i.doubleValue());
System.out.println(d.doubleValue());
System.out.println(d2.doubleValue());
System.out.println(d.doubleValue() - d2.doubleValue());
}
}
この回答への補足
anmochiさん、サンプルありがとうございます。
小数部を取得することが出来ました!
余談になってしまうんですが、
int i = new Integer(d.intValue());や
double d2 = new Double(i.doubleValue());は、
int i = (int) d;や
double d2 = (double) i;などでは
まずいんでしょうか?
Java(オブジェクト指向)をまだ理解していないもので、いまいちnewとかの使いどころが
曖昧で、サンプルのようなコードイメージがパッと浮かばないんです・・・
No.2
- 回答日時:
値を1で割った余りを求めるのが簡単。
例えば
System.out.println(123.75 % 1.0);
で「0.75」と出力される。
で、補足に関してですが、
> int i = new Integer(d.intValue());
> double d2 = new Double(i.doubleValue());
↑これはまずい。(new 演算子によって作られた)IntegerやDoubleのオブジェクトをintやdouble型の変数に入れることはできないのです。
anmochi氏の回答をよく見てみてください。int/double型ではなくInteger/Doubleが他の変数に代入していますよね。
> int i = (int) d;
> double d2 = (double) i;
↑こちらはOK。
Integer/Double のオブジェクトを使っても、int/double の値で直接計算しても実質的な処理内容は同じです。
ただ、doubleよりintのほうが表せる値の範囲が小さいので元の実数値が大きいと正しく小数部分のみ取り出すことができない可能性があります。
1で割った余りを取る方法ではこういう心配はありません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルの数式で教えてください。 3 2023/03/16 11:19
- 統計学 Rを用いた「繰り返しがある直交表実験計画法」の分析方法 8 2023/08/01 17:58
- 統計学 統計検定2級の過去問について 1 2023/01/04 16:40
- 数学 ラグランジュの未定乗数法を用いる問題 3 2023/05/15 14:48
- その他(データベース) Accessフォームにて指定のフィールドの平均値を小数点第一位で表示できない 2 2022/08/30 17:19
- 数学 株価予想の一致率(?)の求め方について 5 2022/12/27 04:44
- 数学 多様体について質問です。 Rを実数全体としてf:S^n={(p_1,…,p_(n+1)∈R^(n+1 2 2023/06/24 00:54
- 数学 すべての自然数とすべての実数を1対1で対応させる(すべての実数を一列に並べる)方法について 3 2023/05/26 17:14
- JavaScript カラーミーショップのsectionループ内で、[引数][戻り値]ありの関数的な処理を行いたいです。 1 2022/05/07 19:39
- 大学受験 数学 医学部 参考書 1 2022/04/06 22:58
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
今、見られている記事はコレ!
-
弁護士が語る「合法と違法を分けるオンラインカジノのシンプルな線引き」
「お金を賭けたら違法です」ーーこう答えたのは富士見坂法律事務所の井上義之弁護士。オンラインカジノが違法となるかどうかの基準は、このように非常にシンプルである。しかし2025年にはいって、違法賭博事件が相次...
-
釣りと密漁の違いは?知らなかったでは済まされない?事前にできることは?
知らなかったでは済まされないのが法律の世界であるが、全てを知ってから何かをするには少々手間がかかるし、最悪始めることすらできずに終わってしまうこともあり得る。教えてgooでも「釣りと密漁の境目はどこです...
-
カスハラとクレームの違いは?カスハラの法的責任は?企業がとるべき対応は?
東京都が、客からの迷惑行為などを称した「カスタマーハラスメント」、いわゆる「カスハラ」の防止を目的とした条例を、全国で初めて成立させた。条例に罰則はなく、2025年4月1日から施行される。 この動きは自治体...
-
なぜ批判コメントをするの?その心理と向き合い方をカウンセラーにきいた!
今や生活に必要不可欠となったインターネット。手軽に情報を得られるだけでなく、ネットを介したコミュニケーションも一般的となった。それと同時に顕在化しているのが、他者に対する辛らつな意見だ。ネットニュース...
-
大麻の使用罪がなかった理由や法改正での変更点、他国との違いを弁護士が解説
ドイツで2024年4月に大麻が合法化され、その2ヶ月後にサッカーEURO2024が行われた。その際、ドイツ警察は大会運営における治安維持の一つの方針として「アルコールを飲んでいるグループと、大麻を吸っているグループ...
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
java のfor文について質問です。
-
乱数のdouble型について
-
double型の足し算について
-
double型変数値の整数部分のみ...
-
Javaによる利率計算の実装方法
-
0dの意味を教えてください
-
newton法のjacobi
-
System.err. printlnとSystem.o...
-
C言語のポインターに関する警告
-
javaで質問です。 文字列2023/2...
-
一定のスペースを空けて端を揃...
-
ループ処理の際、最後だけ","を...
-
EXCEL VBA で、0から?1から?
-
論理演算子”||”またはの入力方法
-
eclipseに記述したjavaファイル...
-
動的配列が存在(要素が有る)か...
-
JSPやサーブレットでSystem.out...
-
テキストボックスに入力された...
-
変数を動的に利用するには?
-
配列について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
実数からの小数部の取得
-
0dの意味を教えてください
-
べき乗
-
double型変数値の整数部分のみ...
-
フラクタルで雲を作る。
-
Javaで何パーセント%かを表示...
-
java のfor文について質問です。
-
最大値と最小値の求め方
-
プログラムのおかしいところを...
-
double型の足し算について
-
演算子を使わない演算
-
Javaによる利率計算の実装方法
-
四捨五入をするメソッドを実装...
-
Javaで計算
-
実数 2.0 に対して int(2.0) ==...
-
99.98+0.01の誤差
-
Java math.powメソッド
-
doubleで入力するには?
-
Javaのeval関数処理
-
掛け算演算を使わない掛け算
おすすめ情報