Difference between revisions of "Typecast"
From Free Pascal wiki
Jump to navigationJump to search (→Type conversion: string -> char) |
(→Type conversion: Function -> Method) |
||
Line 13: | Line 13: | ||
<td>Target data type</td> | <td>Target data type</td> | ||
<td>Type of type conversion</td> | <td>Type of type conversion</td> | ||
− | <td> | + | <td>Method</td> |
</tr> | </tr> | ||
<tr> | <tr> | ||
Line 19: | Line 19: | ||
<td>Real</td> | <td>Real</td> | ||
<td>implicit</td> | <td>implicit</td> | ||
− | <td> | + | <td></td> |
</tr> | </tr> | ||
<tr> | <tr> | ||
<td>Real</td> | <td>Real</td> | ||
<td>Integer</td> | <td>Integer</td> | ||
− | <td>explicit<br>Cut off the fractional part | + | <td>explicit:<br>Cut off the fractional part<br/> Round fractional part</td> |
<td><br>Trunc<br>Round</td> | <td><br>Trunc<br>Round</td> | ||
</tr> | </tr> | ||
Line 55: | Line 55: | ||
<td>String</td> | <td>String</td> | ||
<td>Char</td> | <td>Char</td> | ||
− | <td>explicit | + | <td>explicit</td> |
− | <td | + | <td>String[index]</td> |
</tr> | </tr> | ||
<tr> | <tr> | ||
Line 62: | Line 62: | ||
<td>String</td> | <td>String</td> | ||
<td>implicit</td> | <td>implicit</td> | ||
− | <td> | + | <td></td> |
</tr> | </tr> | ||
<tr> | <tr> | ||
Line 83: | Line 83: | ||
<td>Target data type</td> | <td>Target data type</td> | ||
<td>Type of type conversion</td> | <td>Type of type conversion</td> | ||
− | <td> | + | <td>Method</td> |
</tr> | </tr> | ||
<tr> | <tr> |
Revision as of 10:06, 12 June 2016
│
Deutsch (de) │
English (en) │
français (fr) │
русский (ru) │
Converting values from variables with a lower value range data type to variables with higher value range data type is done automatically (implicit).
A value is converted by a variable of higher-value data type into a variable with a data type of lower values via a cast or function call, and if the value does not fit into the variable of the target data type then data will be lost.
Type conversion
Source data type | Target data type | Type of type conversion | Method |
Integer | Real | implicit | |
Real | Integer | explicit: Cut off the fractional part Round fractional part |
Trunc Round |
Integer | String | explicit | IntToStr |
Real | String | explicit | FloatToStr FloatToStrF |
String | Integer | explicit | StrToInt |
String | Real | explicit | StrToFloat |
String | Char | explicit | String[index] |
Char | String | implicit | |
Char/AnsiChar | Byte | explicit | Ord Byte(char-value) |
Byte | Char/AnsiChar | explicit | Chr AnsiChar(byte-value) |
Source data type | Target data type | Type of type conversion | Method |
QWord | Byte | explicit | Byte(QWord) |
QWord | Word | explicit | Word(QWord) |
QWord | Cardinal | explicit | Cardinal(QWord) |
QWord | Longword | explicit | Longword(QWord) |
Longword | Byte | explicit | Byte(Longword) |
Longword | Word | explicit | Word(Longword) |
Longword | Cardinal | implicit (simple value assignment) | |
Int64 | Byte | explicit | Byte(Int64) |
Int64 | Shortint | explicit | Shortint(Int64) |
Comp | Byte | explicit | Byte(Comp) |
Comp | Shortint | explicit | Shortint(Comp) |
Comp | Real | explicit | Real(Comp) |