Java Archive
[Java] 「ASCIIコード⇒文字列」変換
- 2013-08-16 (金)
- Java
ASCIIコードから文字列への変換にはStringクラスが使用できます。
Stringクラスにはいくつかのコンストラクタが存在しますが、ASCIIコード⇒文字列変換では
String(byte[] bytes, Charset charset)
を使用します。
第1引数にASCIIコードが格納されたbyte配列、第2引数に文字セットを指定します。
文字セットには「”US-ASCII”」を指定します。
- Comments: 0
- Trackbacks: 0
[Java] 経過日数の取得
- 2012-12-09 (日)
- Java
ある日から別の日までの経過日数の取得方法を紹介します。
まず、2つの日付をエポック(1970年1月1日 00:00:00.000 GMT)からの経過ミリ秒に変換し、その差分を求めます。
次に、算出した差分値を日単位に変換してやることで経過日数を取得することができます。
エポックからの経過ミリ秒は Date#getTime()、Calendar#getTimeInMillis() などで取得できます。
- Comments: 0
- Trackbacks: 0
[Java] 小数の切り捨て、切り上げ、四捨五入
- 2012-09-02 (日)
- Java
小数点以下の任意の桁での四捨五入には、BigDecimalクラスの setScale() を使うのが簡単です。
使用方法
まず、BigDecimalオブジェクトを生成します。
今回は変換対象値として「1.2938」を使います。
double val = 1.2938; BigDecimal bigDecimal = new BigDecimal(String.valueOf(val));
生成されたオブジェクトの setScale() で任意の四捨五入処理を実行します。
第1引数に処理対象小数桁、第2引数に処理モードを指定します。
第1引数に指定する値は、0が小数第1位、1が小数第2位を表します。以降も同様で指定数値が「指定数値+1」の小数桁を表します。
第2引数の処理モードにはRoundingMode列挙型定数のいずれかの値を指定します。
定数値およびその意味は次のとおりです。
定数値 | 内容 |
---|---|
CEILING | 切り上げ(正の無限大に近づくように丸める) |
DOWN | 切り捨て(0に近づくように丸める) |
FLOOR | 切り捨て(負の無限大に近づくように丸める) |
HALF_DOWN | 五捨六入(もっとも近い数字に丸める) |
HALF_EVEN | 偶数の場合はHALF_DOWN、奇数の場合はHALF_UPのように動作する (もっとも近い数字に丸める) |
HALF_UP | 四捨五入(もっとも近い数字に丸める) |
UNNECESSARY | 何もしない(丸めが必要でないことを表す) |
UP | 切り上げ(0から離れるように丸める) |
BigDecimal#setScale() の返り値はBigDecimalオブジェクトなので、doubleValue() でデータを取り出します。
こんな感じで使用します。
//==== 小数第2位で切り上げ ====// double v1 = bigDecimal.setScale(1, RoundingMode.CEILING).doubleValue();
- Comments: 0
- Trackbacks: 0
[Java] ディレクトリ内のファイル一覧取得
- 2012-08-04 (土)
- Java
任意ディレクトリ内にあるファイル一覧を取得するにはjava.io.Fileクラスの listFiles() および list() を使用します。
前者はFile型配列、後者はString型配列としてファイル一覧を返してきます。
void printFiles(String dirPath) { File dir = new File(dirPath); File[] files = dir.listFiles(); for(File file : files) { System.out.println(file); } }
- Comments: 0
- Trackbacks: 0
[Java] 現在日時の取得
- 2012-06-03 (日)
- Java
現在日時の取得には次のような方法があります。
- Dateクラスを使って取得
- Calendarクラスを使って取得
Dateクラスを使って取得
オブジェクト作成時にDateクラスの引数なしコンストラクタを使うことで現在時刻が設定されたDateオブジェクトを取得できます。
public String getCurrentDateString() { //==== 現在時刻を取得 ====// Date date = new Date(); //==== 表示形式を設定 ====// SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd HH:mm:ss"); return sdf.format(date); }
- Comments: 0
- Trackbacks: 0
- Search
- Feeds
- Meta
- 人気の記事