Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。
Q&A
解決済
4回答
23061閲覧
総合スコア41
0グッド
0クリップ
投稿2018/09/19 08:41
0
3桁の数字や4桁の数字があった場合、
1004 1989 123 569 1523
上2桁だけを
10 19 12 56 15
のように取り出したい場合、
int a =1004; a /= 100;
だけで良いのでしょうか? 小数点以下切り捨てなどの処置をしなくても良いのでしょうか? よろしくお願いします。
気になる質問をクリップする
クリップした質問は、後からいつでもMYページで確認できます。
またクリップした質問に回答があった際、通知やメールを受け取ることができます。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
質問へのコメント
回答4件
ベストアンサー
123 / 100 は、1.23 になるので、「数字の上2桁だけを取り出したい」を満たしていません。
一旦文字列にして、先頭から2文字を取得すると良いでしょう。
投稿2018/09/19 08:48
総合スコア12011
回答へのコメント
退会済みユーザー
2018/09/19 08:54
2018/09/19 08:58
Javaだと/を使った除算は計算結果の商(整数部分)のみの取得となるため、小数点以下は自動的に切り捨てられます。 逆に剰余を求める場合には%を使うと剰余のみが取得できます。
ですが、質問者さんのやり方で上2桁を取得しようとすると、除算の直前で桁数(3桁~4桁のため)の判別を行い、除算に使う数値を調整しなければいけないかと思います。
少し回りくどいやり方ではありますが、入力となる数値を一度文字列型に変換し、ソレをsubstring関数で先頭から2文字取得するという方法にすれば、何桁の数値であろうと先頭2桁の取得が可能です。 もちろん、取得後の数字を使って計算等をするということであれば、再度数値型への変換が必要となるので一つの方法としてお考え下さい。
投稿2018/09/19 09:01
総合スコア377
2018/09/19 09:07
文字列にして、最初の2文字を取り出して整数変換でいいんじゃないかと。
投稿2018/09/19 08:52
総合スコア88186
2018/09/19 09:00
追記: A-pZさんのおっしゃるように、『上2桁だけを取り出す』処理にはなってないですね。 適切な除数を選べば、少なくとも正数の範囲では除算で取り出し可能です。
はい。
15.17.2. Division Operator / The binary / operator performs division, producing the quotient of its operands. The left-hand operand is the dividend and the right-hand operand is the divisor.
Integer division rounds toward 0.
引用元: Java Language Specification > Expressions
0方向に丸める、つまり商が正数の場合は切り下げです。
総合スコア35678
2018/09/19 08:59
あなたの回答
tips
太字
斜体
打ち消し線
見出し
引用テキストの挿入
コードの挿入
リンクの挿入
リストの挿入
番号リストの挿入
表の挿入
水平線の挿入
プレビュー
15分調べてもわからないことはteratailで質問しよう!
ただいまの回答率85.29%
質問をまとめることで思考を整理して素早く解決
テンプレート機能で簡単に質問をまとめる
javaで3桁や4桁の数字の上2桁だけを取り出したい
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2018/09/19 08:54
2018/09/19 08:58