{{fbdoc item="title" value="MKI"}}----
Does a binary copy from an integer variable to a ##[[KeyPgString|string]]## of the same length as the size of the input variable

{{fbdoc item="syntax"}}##
	[[KeyPgDeclare|declare]] [[KeyPgFunction|function]] **Mki** ( [[KeyPgByval|byval]] //number// [[KeyPgAs|as]] [[KeyPgInteger|integer]] ) [[KeyPgAs|as]] [[KeyPgString|string]]
	[[KeyPgDeclare|declare]] [[KeyPgFunction|function]] **Mki**<//bits//> ( [[KeyPgByval|byval]] //number// [[KeyPgAs|as]] [[KeyPgInteger|integer]]<//bits//> ) [[KeyPgAs|as]] [[KeyPgString|string]]
##
{{fbdoc item="usage"}}##
	//result// = **Mki**[$]( //number// )
	//result// = **Mki**[$]<//bits//>( //number// )
##
{{fbdoc item="param"}}
	##//number//##
		A ##[[KeyPgInteger|integer]]## or ##[[KeyPgInteger|Integer]]<//bits//>## variable to binary copy to a ##[[KeyPgString|string]]##.

{{fbdoc item="ret"}}
	Returns a ##[[KeyPgString|string]]## containing a binary copy of ##//number//##.

{{fbdoc item="desc"}}
	Does a binary copy from an ##[[KeyPgInteger|Integer]]## or ##[[KeyPgInteger|Integer]]<//bits//>## variable to a ##[[KeyPgString|string]]##, setting its length to the number of bytes in the type. The resulting string can be read back to an integer type using ##[[KeyPgCvi|Cvi]]## or ##[[KeyPgCvi|Cvi]]<//bits//>##.
	
	This function is useful to write numeric values to buffers without using a ##[[KeyPgType|Type]]## definition.
	
	##**mki**## supports an optional ##<//bits//>## parameter before the argument.  If ##//bits//## is ##16##, ##[[KeyPgMkshort|Mkshort]]## will be called instead; if ##//bits//## is ##32##, ##[[KeyPgMkl|Mkl]]## will be called; if ##//bits//## is ##64##, ##[[KeyPgMklongint|Mklongint]]## will be called.  The length of the return value and the required ##//number//## argument type will depend on which function is called.  See each function's page for more information.

{{fbdoc item="ex"}}
{{fbdoc item="filename" value="examples/manual/strings/mki.bas"}}%%(freebasic)
dim a as integer, b as string
a=4534
b=mki(a)
print a, cvi(b)
%%

{{fbdoc item="lang"}}
	- In the //[[CompilerOptlang|-lang qb]]// dialect, ##**Mki**## returns a 2-byte-string, since a QB integer is only 16 bits.
	- The string type suffix "$" is obligatory in the //[[CompilerOptlang|-lang qb]]// dialect.
	- The string type suffix "$" is optional in the //[[CompilerOptlang|-lang fblite]]// dialect.
	- The string type suffix "$" is forbidden in the //[[CompilerOptlang|-lang fb]]// dialect.
	- QB did not support a ##<//bits//>## parameter.

{{fbdoc item="see"}}
	- ##[[KeyPgCvi|Cvi]]##
	- ##[[KeyPgMkshort|Mkshort]]##
	- ##[[KeyPgMkl|Mkl]]##
	- ##[[KeyPgMklongint|Mklongint]]##
	- ##[[KeyPgInteger|Integer]]##

{{fbdoc item="back" value="CatPgString|String Functions"}}