値をあるデータ型から別のデータ型に変換できるかどうかを判別します。
構文
int isOKToConvert(int srcDatatype, int destDataType)
int isOKToConvert(String srcDataTypeStr, String destDataTypeStr)
パラメーター
- srcDataType
- getType()
によって戻される整数です。変換したいソース値のデータ型を表します。
- destDataType
- getType()
によって戻される整数です。ソース値を変換したいデータ型を表します。
- srcDataTypeStr
- 変換したいソース値のデータ型の名前を含むストリング。使用可能な値は、Boolean、boolean、Double、double、Float、float、Integer、int、および
String です。
- destDataTypeStr
- ソース値を変換したいデータ型の名前を含むストリング。使用可能な値は、Boolean、boolean、Double、double、Float、float、Integer、int、および
String です。
戻り値
ソース・データ型の値を宛先データ型の値に変換できるかどうかを指定する整数を戻します。次の定数の
1
つと比較することで、戻り値を解釈できます。定数は、DtpDataConversion
クラスで静的および最終として宣言されます。
- OKTOCONVERT
- ソース・データ型から宛先データ型に変換できます。
- POTENTIALDATALOSS
- 変換はできますが、ソース値に変換不可能な文字が含まれる場合や、宛先データ型に合わせて切り捨てる必要がある場合は、データが失われる可能性があります。
- CANNOTCONVERT
- ソース・データ型を宛先データ型に変換することはできません。
例外
なし。
注記
getType()
メソッドは、パラメーターとして渡す値のデータ型を表す整数を戻します。2
つの属性間でデータ変換が可能かどうかを判別するには、isOKToConvert()
の第 1 の形式と getType()
を使用します。srcDataType パラメーターと
destDataType
パラメーターを生成するには、isOKToConvert()
メソッドを呼び出すときに、ソース属性と宛先属性の両方で getType()
を使用します。
メソッドの第 2 の形式では、ソース・データと宛先データのデータ型の名前を含む
String
値を受け入れます。データ型がわかっていて、変換を実行できるかどうかを検査する場合は、この形式のメソッドを使用します。
表 131
に、ソース・データ型と宛先データ型の組み合わせごとに可能な変換を示します。表での意味は、次のとおりです。
- OK
は、ソース・タイプから宛先タイプに変換できることを示します。データ損失はありません。
- DL
は、変換はできますが、ソース値に変換不可能な文字が含まれる場合や、宛先タイプに合わせて切り捨てる必要がある場合に、データ損失が発生する可能性があることを示します。
- NO は、値をソース・データ型から宛先データ型に変換できないことを示します。
表 131.
データ型間で可能な変換
|
|
|
| 宛 先
|
|
|
| ソース
| int、 Integer
|
String
| float、 Float
| double、 Double
| boolean Boolean
|
Date
|
Longtext
|
int Integer
| OK
| OK
| OK
| OK
| NO
| NO
| OK
|
String
| DL1
| OK
| DL1
| DL1
| DL2
| DL
| OK
|
float、 Float
| DL3
| OK
| OK
| OK
| NO
| NO
| OK
|
double、 Double
| DL3
| OK
| DL3
| OK
| NO
| NO
| OK
|
boolean、 Boolean
| NO
| OK
| NO
| NO
| OK
| NO
| OK
|
Date
| NO
| OK
| NO
| NO
| NO
| OK
| OK
|
Longtext
| DL1
| DL3
| DL1
| DL1
| DL2
| DL
| OK
|
| 1String または Longtext 値を数値型に変換する場合、String
または LongText 値には、数値と小数のみ含めることができます。変換の前に、String
または LongText
値から通貨記号などのその他の文字を除去する必要があります。除去しないと、DtpIncompatibleFormatException
がスローされます。
|
| 2String または Longtext 値を Boolean に変換する場合、String
または Longtext の値は
「true」または「false」でなければなりません。「true」以外のストリング
(大文字小文字は関係ありません) は、false と見なされます。
|
| 3
ソース・データ型は宛先データ型より大きい精度をサポートしているため、値が切り捨てられる可能性があります。
|
例
if (DtpDataConversion.isOKToConvert(getType(mySource),
getType(myDest))== DtpDataConversion.OKTOCONVERT)
// map these attributes
else
// skip these attributes
参照項目
getType()
