Red, 7878 74 bytes
func[n][ifunc[n][p: 0 parsecopy"kMGT"parse reverse n[any[3 skip insert(pick"kMGT"i: i +take 1p)]]reverse n]
Try it online!Try it online!
Takes the input as a string.
Input as integer (up to 2^32):
Red, 85 bytes
func[n][i: 0 parse reverse n: to""n[any[3 skip insert(pick"kMGT"i: i + 1)]]reverse n]
Try it online!