On Sat, Feb 15, 2014 at 2:18 AM, <luke.gee...@gmail.com> wrote: > hello, > i have been working on a python resistor calculator to let my class show what > you can do with python. > now i have a script that makes the more speekable value of the resistance > (res) > > #if len(str(res)) > 9: > # res2 = res / 1000000000 > # print "de weerstand is %s,%s giga ohms" % (res2) > #elif len(str(res)) > 6: > # res2 = res / 1000000 > # print "de weerstand is %s,%s Mega ohm" % (res2) > #elif len(str(res)) > 3: > # res2 = res / 1000 > # print "de weerstand is", res2,"kilo ohm" > #elif len(str(res)) < 4: > # res2 = res > # print "de weerstand is", res2,"ohm" > > i commented it because it doesn't work (yet), when i have a resistance of > 9.9 Giga ohms it says it is 9 giga ohms. it seems to work with natural > number, anyway of using decimals insted so that it says : the resistance is > 9.9 Giga Ohms instead of 9 ?
Others have already explained how to do floating-point rather than integer division. I'm curious to know why you're basing the if tests on the length of the number as a string rather than on the magnitude of the number. Consider for example an input of 0.01. Converted to a string, that is "0.01" which has a length of 4. So the output would be "de weerstand is 0.00001 kilo ohm", which is probably not what you would desire. -- https://mail.python.org/mailman/listinfo/python-list