これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド ユニット フィルターです。
プログラム:
NAME
単位フィルター - 物理量および化学量のパーサーです
SYNOPSIS
単位フィルター -s -o -l
DESCRIPTION
単位フィルター は、C 言語、flex、および bison で書かれた基本的なスタンドアロン パーサーです。 入力します
「1.5e3 nN.ms^-1」のような文字列 (トルクの時間増加率である可能性があります) と出力
標準 SI 単位での値と、その後にこの値の物理的寸法が続きます。
OPTIONS
-s
重要なように。
有効桁数を考慮します。 たとえば、1.0 m には 2 が含まれます。
有効数字が含まれますが、0.00100 には有効数字が 3 桁含まれます。 可能です
特別な構文を使用して有効桁数を強制します: if 単位フィルター
入力「1.0m#6」を解析し、有効桁数がちょうど 6 の値として解釈します。
「1.00000 m」などの数字。 # 記号に続く数字は強制的な数字です。
有効数字。 有効桁数は最後のゼロの直前に表示されます
コマンドの出力に含まれます (このゼロは将来の拡張のためのプレースホルダーです)。
-o
アウトプットみたいな。
物理量の正しい表現をその物理単位で出力します。
国際システム表記。 通常の単位では一部簡略化されている可能性があります。
たとえば、ニュートンは m.kg.s^-2 の代わりに単位 N で表されます。 の
値は小数点の前に XNUMX 桁の浮動小数点数として表現され、
必要な有効桁数に適合するために必要な仮数の桁数
数字(以下の例を参照)。 出力ユニットを強制することができます。
コロンと入力の最後に必要な単位を入力します。 この単位が次のものと同種であれば、
前者の場合、出力のフォーマットに使用されます。
-l
LaTeXみたいな。
物理量の正しい表現をその物理単位で出力します。
LaTeX 言語の International System 表記法。
例
mksa システムで数量の SI 値と単位指数を確立します。
~$ echo 1.5e3 nN.ms^-1 | 単位フィルター
1.5e-6 2 1 -3 0 0 0 0
これは、1.5e-6 (SI 単位) m^2.kg.s^-3 を意味します。
さまざまな物理量を比較します。
~$ e1=$(エコー 「1.2e-3 V" | 単位フィルター)
~$ e2=$(エコー 「1200e3 nWb/s"| 単位フィルター)
~$ if [ 「$e1」 = 「$e2」 ]; その後 echo Ok; ほかに echo こ; fi
ok
... これは、単位時間当たりのウェーバーがボルトと同じであることを強調します。
有効桁数をいじってみる:
~$ echo 「0.00100m」 | src/ユニットフィルター -s
0.001 1 0 0 0 0 0 0 3 0
~$ echo 「0.00100m #2 " | src/ユニットフィルター -s
0.001 1 0 0 0 0 0 0 2 0
相対精度の値を与える:
~$ echo 「1kV~2」 | 単位フィルター -o
1e + 03 V + -2%
LaTeX 出力をオンにする:
~$ echo 「1kΩ+-2%」 | 単位フィルター -l
1\回 10^{+03}\, \オメガ \午後 2\,\%
正規の物理表記法の出力をオンにします。
~$ echo "1.0 m.kg.s^-2 #7 " | 単位フィルター -o
1.000000e+00N
出力に標準以外の単位を選択する:
~$ echo 1800C:ああ| 単位フィルター -o
5.000e-01 あー
KNOWN バグ
mksa システムの一部のユニットは正常に解析されます。
onworks.net サービスを使用してオンラインでユニット フィルターを使用する