2012-12-12 29 views
0

輸入格式小數

CTCF_1276  4.006055058150985e-03 
    CTCF_1274  1.726979566495019e-02 

輸出

CTCF_1276  4.00606e-03 
    CTCF_1274  1.72698e-02 

我知道awk能做到這一點很容易,但因爲我需要逃避%.5e字符串中我不喜歡它如果我想從python調用它。有沒有人有更好的方法來做到這一點?

+0

爲什麼一個截斷和其他圍捕時,都應該四捨五入? –

+4

如果你使用Python,你當然可以在Python中做到這一點?我根本不相信有必要出面解決這個問題。 –

回答

1
  • 的bash:

    printf '%.5e' 4.006055058150985e-03 
    
  • 蟒:

    print('{:.5e}'.format(4.006055058150985e-03)) 
    
  • 的Perl:

    printf '%.5e', 4.006055058150985e-03 
    
  • AWK:

    printf '%.5e', 4.006055058150985e-03 
    
+0

不是python有格式化字符串的'%'運算符嗎? 'print'%.5e「%(4.006055058150985e-03)'會使它更符合其他人的要求。 – tadman

+0

@tadman - 是的,它在Python文檔中被稱爲[_old string formatting_](http://docs.python.org/release/3.2.3/library/stdtypes.html#old-string-formatting),並且是被排除在語言之外。 – mouviciel

+0

打破傳統?該鏈接表明它*不*應該被棄用,但。 – tadman