def exno(num, powers=False):
    """exno(...) --> str

	Return the Expanded Notation in a string
	optional argument powers defines the format for place value
	eg. False: 100000  True: 10^5"""
    if powers:
        func = lambda x: x
    else:
        func = lambda x: str(eval(x))
    if num < 0:
        start = '-'
        num = str(float(num)).replace('-', '')
    else:
        start = ''
        num = str(float(num))
    strings = []
    exponent = num.index('.') - 1
    num = num.replace('.', '')
    for n in num:
        if n != '0':
            strings.append(' '.join([start + '(', n, '*', func('10**' + str
                (exponent)), ')']))
        exponent -= 1
    return ' + '.join(strings)
