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>Function</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>no</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.<br/> Rounds</td>
+
     <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:<br>array index</td>
+
     <td>explicit</td>
     <td>no:<br/> String[index]</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>no</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>Function</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)