|
| 1 | +# Volume Measurement |
| 2 | + |
| 3 | +Volume 是一個用於計算體積的單位轉換工具,適合用於各種體積單位之間的轉換。 |
| 4 | + |
| 5 | +<!-- TOC --> |
| 6 | +* [Volume Measurement](#volume-measurement) |
| 7 | + * [建立](#建立) |
| 8 | + * [可用單位](#可用單位) |
| 9 | + * [限縮單位](#限縮單位) |
| 10 | + * [轉換](#轉換) |
| 11 | + * [格式化](#格式化) |
| 12 | +<!-- TOC --> |
| 13 | + |
| 14 | +## 建立 |
| 15 | + |
| 16 | +要建立一個 Volume 實例,可以使用以下方法: |
| 17 | + |
| 18 | +```php |
| 19 | +use Asika\UnitConverter\Volume; |
| 20 | + |
| 21 | +$volume = new Volume(100); // 100 立方公尺 |
| 22 | +$volume = new Volume(2, Volume::UNIT_CUBIC_KILOMETERS); // 2 立方公里 |
| 23 | + |
| 24 | +$volume = Volume::from(300, 'cm3'); |
| 25 | +$volume = Volume::from('300 cm3'); |
| 26 | +``` |
| 27 | + |
| 28 | +## 可用單位 |
| 29 | + |
| 30 | +- Atom Unit: `fm3` |
| 31 | +- Default Unit: `m3` |
| 32 | +- Base Unit: `m3` |
| 33 | + |
| 34 | +| 單位 | 常數 | 別名 | 比率(相對 m³) | 說明 | |
| 35 | +|-------|--------------------------|-----------------------------------------------|---------------------|------| |
| 36 | +| `fm3` | `UNIT_CUBIC_FEMTOMETERS` | `fm^3`, `fm³`, `femtometers3`, `femtometers³` | `1e-45` | 立方飛米 | |
| 37 | +| `pm3` | `UNIT_CUBIC_PICOMETERS` | `pm^3`, `pm³`, `picometers3`, `picometers³` | `1e-36` | 立方皮米 | |
| 38 | +| `nm3` | `UNIT_CUBIC_NANOMETERS` | `nm^3`, `nm³`, `nanometers3`, `nanometers³` | `1e-27` | 立方奈米 | |
| 39 | +| `μm3` | `UNIT_CUBIC_MICROMETERS` | `μm^3`, `um³`, `micrometers3`, `micrometers³` | `1e-18` | 立方微米 | |
| 40 | +| `mm3` | `UNIT_CUBIC_MILLIMETERS` | `mm^3`, `mm³`, `millimeters3`, `millimeters³` | `1e-9` | 立方毫米 | |
| 41 | +| `cm3` | `UNIT_CUBIC_CENTIMETERS` | `cm^3`, `cm³`, `centimeters3`, `centimeters³` | `1e-6` | 立方公分 | |
| 42 | +| `dm3` | `UNIT_CUBIC_DECIMETERS` | `dm^3`, `dm³`, `decimeters3`, `decimeters³` | `1e-3` | 立方分米 | |
| 43 | +| `m3` | `UNIT_CUBIC_METERS` | `m^3`, `m³`, `meters3`, `meters³` | `1` | 立方公尺 | |
| 44 | +| `km3` | `UNIT_CUBIC_KILOMETERS` | `km^3`, `km³`, `kilometers3`, `kilometers³` | `1e9` | 立方公里 | |
| 45 | +| `in3` | `UNIT_CUBIC_INCHES` | `in^3`, `in³`, `inches3`, `inches³` | `0.000016387064` | 立方英吋 | |
| 46 | +| `ft3` | `UNIT_CUBIC_FEET` | `ft^3`, `ft³`, `feet3`, `feet³` | `0.028316846592` | 立方英呎 | |
| 47 | +| `yd3` | `UNIT_CUBIC_YARDS` | `yd^3`, `yd³`, `yards3`, `yards³` | `0.764554857984` | 立方碼 | |
| 48 | +| `mi3` | `UNIT_CUBIC_MILES` | `mi^3`, `mi³`, `miles3`, `miles³` | `4168181825.440579` | 立方英里 | |
| 49 | +| `L` | `UNIT_CUBIC_LITERS` | `l`, `liters`, `liter` | `0.001` | 公升 | |
| 50 | +| `gal` | `UNIT_CUBIC_GALLONS` | `gal`, `gallons`, `gallon` | `0.003785411784` | 加侖 | |
| 51 | +| `pt` | `UNIT_CUBIC_PINTS` | `pt`, `pints`, `pint` | `0.000473176473` | 品脫 | |
| 52 | +| `qt` | `UNIT_CUBIC_QUARTS` | `qt`, `quarts`, `quart` | `0.000946352946` | 夸脫 | |
| 53 | + |
| 54 | +### 限縮單位 |
| 55 | + |
| 56 | +由於體積單位的多樣性,Volume 類別提供了 `withOnlyCommonVolumes()` 方法來限制可用的單位,僅保留常用的公制體積單位: |
| 57 | + |
| 58 | +```php |
| 59 | +$volume = $volume->withOnlyCommonVolumes(); |
| 60 | + |
| 61 | +// OR |
| 62 | + |
| 63 | +$volume = $volume->withAvailableUnits(Volume::UNITS_GROUP_COMMON_VOLUMES); |
| 64 | +``` |
| 65 | + |
| 66 | +## 轉換 |
| 67 | + |
| 68 | +可使用 `to()` 或 `toXxx()` 方法將 Volume 轉換成其他單位的值: |
| 69 | + |
| 70 | +```php |
| 71 | +$volume->toCubicMeters(); |
| 72 | +$volume->toCubicKilometers(scale: 4); |
| 73 | +$volume->to('ft3'); |
| 74 | +``` |
| 75 | + |
| 76 | +支援的函式 |
| 77 | + |
| 78 | +- `toCubicFemtometers()` |
| 79 | +- `toCubicPicometers()` |
| 80 | +- `toCubicNanometers()` |
| 81 | +- `toCubicMicrometers()` |
| 82 | +- `toCubicMillimeters()` |
| 83 | +- `toCubicCentimeters()` |
| 84 | +- `toCubicDecimeters()` |
| 85 | +- `toCubicMeters()` |
| 86 | +- `toCubicKilometers()` |
| 87 | +- `toCubicInches()` |
| 88 | +- `toCubicFeet()` |
| 89 | +- `toCubicYards()` |
| 90 | +- `toCubicMiles()` |
| 91 | +- `toCubicLiters()` |
| 92 | +- `toCubicGallons()` |
| 93 | +- `toCubicPints()` |
| 94 | +- `toCubicQuarts()` |
| 95 | + |
| 96 | +## 格式化 |
| 97 | + |
| 98 | +可以將體積數值格式化成人類可讀的方式: |
| 99 | + |
| 100 | +```php |
| 101 | +$volume = \Asika\UnitConverter\Volume::from(401074580, 'm3') |
| 102 | + ->withOnlyCommonVolumes(); |
| 103 | +echo $volume->humanize(divider: ' and '); // 401km3 and 74580m3 |
| 104 | +``` |
| 105 | + |
| 106 | + |
0 commit comments