On Mon, Aug 29, 2016 at 08:48:55PM -0700, Ken Kundert wrote: > >>> print(d_sun.to(u.kpc)) > 4.850441695494146e-09 kpc > > I can see where this can be helpful at times, but it kind of goes against the > spirit of SI scale factors, were you are generally expected to 'normalize' > the > scale factor (use the scale factor that results in the digits presented > before > the decimal point falling between 1 and 999). So I would expected > > d_andromeda = 780 kpc > d_sun = 4.8504 upc
Let me see if I get this straight... you *explicitly* asked for the distance to the sun in kpc (kiloparsecs), but you expected a result in µpc (microparsecs)? When you ask the waiter for a short black, do you get upset that he doesn't bring you a latte with soy milk? *wink* I can see that such a normalising function would be useful, but I don't think it should be the default. (If I ask for millimetres, I want millimetres, not gigametres.) I've written and used code like that for bytes, it makes sense to apply it to other measurement units. But only if the caller requests normalisation, never by default. I don't think there is any such general expectation that values should be normalised in that way, and certainly not that your conversion program should automatically do it for you. For example, see this list of long-lived radioactive isotopes: http://w.astro.berkeley.edu/~dperley/areopagus/isotopetable.html Values above 650,000,000,000 (650e9) years are shown in "scientific format", not "engineering format", e.g. Selenium-82 is given as 1.1 x 10^20 rather than 110 x 10^18. Likewise: http://www.nist.gov/pml/data/halflife-html.cfm displays a range of units (minutes, hours, days) with the base value ranging up to over ten thousand, e.g. Ti-44 is shown as 22154 ± 456 days. This is NIST, which makes it pretty official. I don't think there's any general expectation that values should be shown in the range 1 to 999. (Perhaps in certain specialist areas.) -- Steve _______________________________________________ Python-ideas mailing list Python-ideas@python.org https://mail.python.org/mailman/listinfo/python-ideas Code of Conduct: http://python.org/psf/codeofconduct/