笨拙的工程符号

The*_*eer 5 python numpy

有没有一种方法可以限制浮点数的表示,使其仅与物理单位中使用的前缀相对应。

一个例子将使它更清楚:

0.01   ->   currently       1e-02  
       ->   what I'd like   10e-03

0.0001   ->   currently       1e-04  
         ->   what I'd like   100e-06
Run Code Online (Sandbox Code Playgroud)

其背后的动机是,我正在进行一些时间测量,并将表示形式表示为1000更加用户友好。我知道10e-03 -> 10mili还是100e-06 -> 100u

更新资料

对于numpy 1.7 <,中有一个formatter属性set_printoptions()。我要去的解决方案是编写一个内联函数来进行格式化。设置后,其格式应全局可用。

有关格式化程序的参考

aks*_*128 1

我认为这个主题可能对您有帮助。另一方面,我会尝试为特定范围内的值创建一些“桶”并检查一个简单的条件>(范围内的最低值),然后将该值乘以一个范围,例如2e-5乘以1e6得到20u 。不太有效,但很容易。