integer, parameter :: qp = selected_real_kind(20)
real(kind=qp) :: a
import"math/big"
a, _, err := big.ParseFloat("123456789.123456789123465789", 10, 200, big.ToZero)
2nd arg is the base. 3rd arg is the precision. 4th arg is the roundingmode. The precision is the maximum number of mantissa bits available to represent the value.