﻿ Conversion Between Data Types
 Conversion Between Data Types Print  Previous  Next

Introduction

If there are different data types within an expression, they must be converted into the same type. MADRIX Script does those conversions implicitly, but in most cases a warning will be displayed in the Compiler Messages section of the Script Editor. It is also possible to do those conversions explicitly writing the destination data type in brackets before the expression, like this:

int i = (int)GetSpeedPitch(); //if the Pitch was 6.2, i is now 6

string s = (string)i;    //s now consists of the characters "6"

GetSpeedPitch() returns a float value which has to be converted into int before it can be assigned to i. Be aware that the positions after the decimal point are abridged. Afterwards, the numeric value is assigned to i.

The following table shows an overview of the possible conversions:

 int float string structure bool expressions int - Converts the value to float. Converts the value to string: e.g. 12 = "12". N/A Is true if the value is not 0. float Converts the value to int. The decimal part is truncated without rounding off. - Converts the value to string: e.g. 12.34 = "12.34" N/A Is true if the value is not 0. string If the string starts with a number, it is converted into an integer/float value, otherwise  the result is 0. - N/A Is true if the string is not empty. structure N/A Conversion between different structures: N/A. N/A

Implicit Conversions Within Expressions

 ▪ If one of the two operands of an expression is of the type float and the other is of the type int, the int value is converted to float and the expression results in the data type float.
 ▪ If one of the two operands of an expression is of the type string, the other operand is converted into a string and the expression results in a string.
 ▪ If the conversion is not possible according to the table above, the compiler prints an error and you have to correct the expression.

Here are some examples of expressions and their results:

 Expression Result Explanation int i = 3 / 4 * 2 0 3 / 4 is an integer operation and results in 0. Hence, the whole expression results in 0. float f = 3 / 4.0 * 2 1.5 Because 4.0 is a float value, 3 is converted into float, too. This way, 3 / 4.0 results in 0.75. Then, 2 is also converted into float since the other operand is of type float, and the result is therefore 1.5. string test = "It is " + 9 + " o'clock." "It is 9 o'clock." Since the first operand is a string, 9 is also converted into a string and concatenated with the first string. string test = 2 + 3 + "40" "540" 2 and 3 are both integer values and will be added up due to an integer operation. The second operation has a string as operand and therefore the other operand is converted into a string and both are concatenated together.

 MADRIX Version: 5.1b | Script Version: 3.10 [Ctrl & +/-] = Zoom In/Out | [Ctrl & 0] = 100% Print   Previous   Next