AviSynth Syntax - Type conversion functions¶
Conversion functions convert between different types. There are also some
numeric functions that can be classified in this
category, namely: Ceil
, Floor
, Float
, Int
, IntI
, Long
, FloatF
,
Double
and Round
.
See AviSynth Syntax - Numeric functions.
Value¶
Value(string)
Converts a decimal string to its associated numeric value.
Examples:
Value ("-2.7") = -2.7
HexValue¶
HexValue64¶
HexValue(string[, int "pos"])
HexValue64(string[, int "pos"])
Converts a hexadecimal string to its associated numeric value.
HexValue returns 32 bit integer.
HexValue64 returns 64 bit long. (since v3.7.4)
Conversion will cease at the first non legal number base digit, without producing an error.
Function returns 0 if pos
is erroenus: ie less than 1 or greater than string length.
- int pos (default 1)
Sets the starting point of the numeric parser. All characters to the left of pos are ignored. Default is 1 (start of string).
Examples:
HexValue ("FF00") # 65280
HexValue ("FFA0", 3) # 160
HexValue ("FFFFFFFF") # -1
HexValue64 ("FF00") # 65280
HexValue64 ("FFFFFFFF") # 4294967295
Hex¶
Hex(int [, int "width"])
Converts a numerical value to its hexadecimal value string. See Colors for more information on specifying colors.
Function returns hex string in uppercase, instead of lowercase.
- int width (default 0)
Width is 0 to 16 the minimum width of the returned string. (8 hex digit is the max of Avisynth 32 bit integer, 16 digits for 64 bit numbers)
Resulting string will be left-padded with zeroes as needed.
When width is 0 (default) or not supplied then string length is a minimum needed.
Examples:
Hex(10824234) # "A52A2A"
Hex(255,4) # returns "00FF".
String¶
String(float / int [, string format_string])
Converts a variable to a string.
String arguments are passed along unchanged;
bools are converted to "true" or "false";
numbers are formatted as described below;
other variable types (clip, val) are converted to the empty string.
If the variable is float or integer and format_string
exists, it
first converts it to a float and then uses format_string to convert the float
to a string. The syntax of format_string
is as follows:
%[flags][width][.precision]f
the leading
'%'
and trailing'f'
are required!width: the minimum width (the string is never truncated if it is wider than width)
precision: the number of digits printed
flags:
-
left align (instead right align)+
always print the +/- sign (show only '+' by default)0
pad (see width) with leading zeroes (pad with spaces by default)' '
print a blank instead of a "+"#
always print the decimal point (dropped by default if there are no decimal digits)
You can also put arbitrary text around the format_string as defined above, similar to the C-language printf function.
Examples:
Subtitle( String(1.23) ) # '1.230000' (six decimals by default for floats)
Subtitle( String(123) ) # '123' (no decimals by default for ints)
Subtitle( String(1.23, "%0.2f" )) # '1.23'
Subtitle( String(1.23, "%0.1f" )) # '1.2'
Subtitle( String(1.23, "%5.1f") ) # ' 1.2' (padded to 5 characters wide)
Subtitle( String(1.23, "%1.3f") ) # '1.230' (3 decimals; add trailing zeroes)
Subtitle( String(123, "%0.0f") ) # '123' (no decimals for precision=0)
Subtitle( String(123, "%#0.0f") ) # '123.' ('#' flag: always show decimal point)
Subtitle( String(123, "%0.2f") ) # '123.00' (2 decimals: add trailing zeroes)
Subtitle( String(123, "%5.0f") ) # ' 123' (padded to 5 characters wide using ' ')
Subtitle( String(123, "%05.0f") ) # '00123' (padded to 5 characters wide using '0')
Subtitle( String(PI, "PI=%0.0f") ) # 'PI=3' (text around format_string)
Subtitle( String(PI, "PI=%#0.0f") ) # 'PI=3.' ('#' flag: always show decimal point)
Subtitle( String(PI, "PI=%2.0f") ) # 'PI= 3'
Subtitle( String(PI, "PI=%3.2f") ) # 'PI=3.14'
Subtitle( String(PI, "PI=%0.5f") ) # 'PI=3.14159'
Subtitle( String(PI, "PI=%6.3f") ) # 'PI= 3.142'
Subtitle( String(32, "%0.0f") ) # '32'
Subtitle( String(32, "%3.0f") ) # ' 32'
Subtitle( String(32, "%8.0f") ) # ' 32'
## arbitrary text around format_string:
Subtitle( String(Last.Height, "Clip height is %0.0f") ) # 'Clip height is 480'
## same output as above but using string concatenation:
Subtitle( "Clip height is " + String(Last.Height) )
Subtitle( String(x, "Value of x is %.3f after AR calc") )
Subtitle( "Value of x is " + String(x, "%.3f") + " after AR calc") )
# same as above
Changelog¶
Version |
Changes |
---|---|
3.7.4 |
Add HexValue64
Add IntI, Long, FloatF, Double
|
Avisynth+ r2632 |
Hex: added "width"
Hexvalue: added "pos"
|
Back to Internal functions.
$Date: 2025/03/06 16:00:00 $