# Complex Numbers > Create a complex number.
## Usage ```javascript var complex = require( '@stdlib/complex/cmplx' ); ``` #### complex( real, imag\[, dtype] ) Creates a complex number, where `real` and `imag` are the **real** and **imaginary** components, respectively. ```javascript var z = complex( 5.0, 3.0 ); // returns ``` By default, the function returns a [128-bit complex number][@stdlib/complex/float64]. To specify an alternative underlying data type, set the `dtype` parameter to one of the following: - [`'float64'`][@stdlib/complex/float64]: https://www.npmjs.com/package/@stdlib/complex/tree/main/float64 - [`'float32'`][@stdlib/complex/float32]: https://www.npmjs.com/package/@stdlib/complex/tree/main/float32 ```javascript var z = complex( 5.0, 3.0, 'float32' ); // returns ```
## Examples ```javascript var randu = require( '@stdlib/random/base/randu' ); var round = require( '@stdlib/math/base/special/round' ); var complex = require( '@stdlib/complex/cmplx' ); var re; var im; var z; var i; for ( i = 0; i < 100; i++ ) { re = round( (randu()*100.0) - 50.0 ); im = round( (randu()*100.0) - 50.0 ); z = complex( re, im, 'float64' ); console.log( z.toString() ); } ```