0

你知道 Yii2 中是否有任何扩展、教程或某种方式可以正确地在英寸和毫米(英制和公制)之间进行转换?我想以公制测量保存数据库中的值并以英制显示值。

提前致谢。

4

3 回答 3

1

你也可以使用这个库来转换任何单位。

https://packagist.org/packages/php-units-of-measure/php-units-of-measure

例子:

use PhpUnitsOfMeasure\PhysicalQuantity\Length;

$l = new Length($val, 'inches');
echo $l->toUnit('mm');
于 2017-10-31T14:37:26.730 回答
1

您可以afterFind()在调用表时使用模型中的方法转换值,并beforeSave()使用转换为公制的方法来存储数据。

你可以在你的模型中尝试这样的事情:

public function afterFind()
{
    parent::afterFind();
    $this->data = $this->data * 0.0393701;
}

public function beforeSave()
{
    parent::beforeSave();
    $this->data = $this->data * 25.4;
}

您还可以使用相同的机制在您的模型中实现@DR 的答案

于 2017-10-31T11:54:43.040 回答
0

如果我理解正确,您可以简单地使用这些功能。

function mmToIn ($val) {
  return $val * 0.0393701
}

function inToMm ($val) {
  return $val * 25.4
}
于 2017-10-31T11:36:58.403 回答