marzzelo/uconverter

可定制物理单位转换器 - 示例库 - 请勿在生产环境中使用

1.0.5 2023-02-17 11:30 UTC

This package is auto-updated.

Last update: 2024-09-17 15:19:51 UTC


README

uconverter是一个可定制的单位转换器。

安装

composer require marzzelo/uconverter

用法

实例化一个新的单位转换器

$converter = new UnitsConverter([
		    'gf'  => 1000.0,
		    'N'   => 9.8066,
		    ...
		]);

(所有量必须相等,即:1000 gf == 9.8066 N)。

示例:达因转换为千克

print $converter->kgf(1, 'daN');  // 1.019721

在构建后添加新单位

$converter->lbf = 2.2046;

$converter->kgf(2.2046, 'klbf');  // 1000

倍数和分数

包含的前缀

                'da' => 10,
                'a'  => 1e-18,
                'f'  => 1e-15,
                'p'  => 1e-12,
                'n'  => 1e-9,
                'u'  => 1e-6,
                'm'  => 1e-3,
                'c'  => 0.01,
                'd'  => 0.1,
                'h'  => 100,
                'k'  => 1000,
                'M'  => 1e6,
                'G'  => 1e9,
                'T'  => 1e12,
                'P'  => 1e15,
                'E'  => 1e18,

示例(太牛顿转换为微牛顿)

$converter->uN(1.0, 'TN');  //  1.0e+18

使用包含的转换器

要使用包含的转换器,请使用静态方法UnitsConverter::getConverter(<name>)
包含的转换器有'force', 'length'和'pressure'。

$fconverter = UnitsConverter::getConverter('force');
$pconverter = UnitsConverter::getConverter('pressure');
$lconverter = UnitsConverter::getConverter('length');

print $fconverter->N(1, 'kgf');     // 9.806652048217
print $pconverter->Pa(1, 'MPa');    // 1e6
print $lconverter->cm(1, 'in');     // 2.5400000025908

可用的内置单位

N, lbf, gf, ouncef, poundf, dyne, sthene

及其倍数

daN, kN, klbf, kgf, kpoundf等。

压力

psi, Pa, gmm2, bar, atm, mHg, inHg, inH2O, torr

及其倍数

kPa, hPa, MPa, kgmm2, cmHg, mmHg, mbar等。

长度

m, in, ft, hand, ly, mi, yd, pc, AU, Ao

及其倍数

dm, cm, mm, um, dam, hm, km, ...