Type conversion cannot be done exactly.


The InexactError function in Julia is used to raise an error when an exact conversion between numeric types cannot be performed. It is typically caused by attempting to convert a number to a type that cannot precisely represent it.

julia> convert(Int64, 3.14)
ERROR: InexactError: Int64(3.14)

In this example, the InexactError is thrown because 3.14 cannot be exactly represented as an Int64. If you need to perform the conversion and handle the error, you can use a try-catch block:

julia> try
           convert(Int64, 3.14)
       catch err
           println("Error: $err")
Error: InexactError: Int64(3.14)

You can also use the safe_convert function as an alternative to convert when dealing with potentially inexact conversions. It returns either the converted value or nothing if the conversion is not exact:

julia> safe_convert(Int64, 3.14)

This example returns nothing because an exact conversion to Int64 is not possible for 3.14.

Remember to handle InexactError appropriately in your code to prevent unexpected behavior or crashes when dealing with type conversions.

See Also

ArgumentError, AssertionError, BoundsError, DivideError, DomainError, EOFError, error, ErrorException, InexactError, InitError, KeyError, LoadError, MethodError, OutOfMemoryError, OverflowError, ParseError, ReadOnlyMemoryError, showerror, StackOverflowError, SystemError, TypeError, UndefRefError, UndefVarError,

User Contributed Notes

Add a Note

The format of note supported is markdown, use triple backtick to start and end a code block.

*Required Field

Checking you are not a robot: