int isOKToConvert(int srcDatatype, int destDataType)
int isOKToConvert(String srcDataTypeStr, String destDataTypeStr)
Returns an integer specifying whether it is possible to convert
a value of the source data type to a value of the destination data
type. You can interpret the return value by comparing it to one
of these constants, which are declared as static and final in the DtpDataConversion class:
- OKTOCONVERT
- You can convert from the source to the destination data type.
- POTENTIALDATALOSS
- You can convert, but there is a potential for data loss if
the source value contains unconvertable characters or must be truncated
to fit the destination data type.
- CANNOTCONVERT
- The source data type cannot be converted to the destination
data type.
The getType() method returns an integer representing the data type of the
value you pass as a parameter. You use the first form of isOKToConvert() together with getType() to determine whether a data conversion between two attributes
is possible. In your isOKToConvert() method call, use getType() on both the source and destination attributes to generate
the srcDataType and destDataType parameters.
The second form of the method accepts String values containing
the data type names for the source and destination data. Use this
form of the method if you know what the data types are, and you
want to check whether you can perform a conversion.
Table 134 shows
the possible conversions for each combination of source and destination
data type. In the table:
- OK means you can convert the source type to the destination
type with no data loss.
- DL means you can convert, but data loss might occur if the source
contains unconvertable characters or must be truncated to fit the
destination type.
- NO means you cannot convert the a value from source data type
to the destination data type.
Table 134. Possible Conversions Between Data Types
|
|
|
|
D E S T I N A T I O N |
|
|
|
SOURCE |
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 |
|
1When
converting a String or Longtext value to any numeric type, the String or
Longtext value can contain only numbers and decimals. You must remove any
other characters, such as currency symbols, from the String or Longtext value
before converting. Otherwise, a DtpIncompatibleFormatException will be thrown. |
|
2When
converting a String or Longtext value to Boolean, the value of the String
or Longtext should be "true" or "false". Any string that is not "true" (case does not matter) will be considered false. |
|
3Because
the source data type supports greater precision than the destination data
type, the value might be truncated. |