dstmwrp_exp.pro
1022 Bytes
FUNCTION dstmwrp_exp, axis, index, number
;IC: modified so that a '1' isn't displayed before the values
;A special case.
IF number EQ 0 THEN RETURN, '0'
; Assuming multiples of 10 with format.
ex = String(number, Format='(e8.0)')
pt = StrPos(ex, '.')
first = StrMid(ex, 0, pt)
sign = StrMid(ex, pt+2, 1)
thisExponent = StrMid(ex, pt+3)
; Shave off leading zero in exponent
WHILE StrMid(thisExponent, 0, 1) EQ '0' DO thisExponent = StrMid(thisExponent, 1)
; Fix for sign and missing zero problem.
IF (Long(thisExponent) EQ 0) THEN BEGIN
sign = ''
thisExponent = '0'
ENDIF
frmt = '10!U'
IF !dustem_mlog then frmt='-'+frmt
; Make the exponent a superscript.
IF sign EQ '-' THEN BEGIN
IF first EQ 1 then RETURN, frmt + sign + thisExponent + '!N' ELSE RETURN, first + 'x' + frmt + sign + thisExponent + '!N'
ENDIF ELSE BEGIN
IF first EQ 1 then RETURN, frmt + thisExponent + '!N' ELSE RETURN, first + 'x' + frmt + thisExponent + '!N'
ENDELSE
END