大きな数字を科学的表記法に変換する方法

大きな数字を科学的表記法に変換する方法

私は非常に大きな値を持つ列を含むファイルを扱っています。

(例:40桁:646512354651316486246729519751795724672467596754627.06843 など...)

数字を科学的表記法で表示したいのですが、ドットの後には3~4桁の数字だけが必要です。sed自分のファイルに表示されるすべての番号に対してこれを使用または実行する方法はありますか?

ベストアンサー1

シェルには、おそらくprintf数値の書式設定に使用できる組み込み関数があります。

$ type printf
printf is a shell builtin
$ printf "%.3e\n" 646512354651316486246729519751795724672467596754627.06843
6.465e+50
$ printf "%.4e\n" 646512354651316486246729519751795724672467596754627.06843
6.4651e+50
$ _

それ以外の場合は、通常使用可能な専用バイナリがありますprintf

$ which printf
/usr/bin/printf
$ _

おすすめ記事