2012-05-08

Force.com : Apex で文字列を他の型に変換したい


Apex で文字列を他の型に変換したい



○ String → Date

■ yyyyMMdd
String syyyyMMdd = '20120508';
String y = syyyyMMdd.substring(0, 4);
String m = syyyyMMdd.substring(4, 6);
String d = syyyyMMdd.substring(6, 8);
Date yyyyMMdd = Date.valueOf(y + '-' + m + '-' + d);

System.debug('##### ' + yyyyMMdd);    // ##### 2012-05-08 00:00:00

■ yyyyMMdd
String syyyyMMdd = '20120508';
String y = syyyyMMdd.substring(0, 4);
String m = syyyyMMdd.substring(4, 6);
String d = syyyyMMdd.substring(6, 8);
Date yyyyMMdd = Date.newInstance(Integer.valueOf(y), Integer.valueOf(m), Integer.valueOf(d));

System.debug('##### ' + yyyyMMdd);    // ##### 2012-05-08 00:00:00



○ String → Integer

■ 整数
String sinteger = '123';
Integer i = Integer.valueOf(sinteger);

System.debug('##### ' + i);    // ##### 123

■ 小数
String sinteger = '123.00000';
Integer i = Integer.valueOf(sinteger);

System.debug('##### ' + i);    // ##### 123

■ 小数 (※ Exception 発生)
String sinteger = '123.45678';
Integer i = Integer.valueOf(sinteger);

// EXCEPTION_THROWN: System.TypeException: Invalid integer: 123.45678

System.debug('##### ' + i);

■ null (※ Exception 発生)
String sinteger = null;
Integer i = Integer.valueOf(sinteger);

//  EXCEPTION_THROWN: System.NullPointerException: Argument 1 cannot be null

System.debug('##### ' + i);

■ 空文字 (※ Exception 発生)
String sinteger = '';
Integer i = Integer.valueOf(sinteger);

//  EXCEPTION_THROWN: |System.TypeException: Invalid integer: 

System.debug('##### ' + i);



○ String → Double

■ 整数
String sdouble = '123';
Double d = Double.valueOf(sdouble);
System.debug('##### ' + d);    // ##### 123.0

■ 小数
String sdouble = '123.45678';
Double d = Double.valueOf(sdouble);
System.debug('##### ' + d);    // ##### 123.45678

■ null (※ Exception 発生)
String sdouble = null;
Double d = Double.valueOf(sdouble);

// EXCEPTION_THROWN: System.NullPointerException: Argument 1 cannot be null

System.debug('##### ' + d);

■ 空文字 (※ Exception 発生)
String sdouble = '';
Double d = Double.valueOf(sdouble);

// EXCEPTION_THROWN: System.TypeException: Invalid double: 

System.debug('##### ' + d);



◇ 参考


0 件のコメント:

コメントを投稿