在Yii2中转换并显示英制到公制测量

时间:2017-10-31 11:31:58

标签: yii2 measure metric inches

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

提前致谢。

3 个答案:

答案 0 :(得分: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;
}

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

答案 1 :(得分: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');

答案 2 :(得分:0)

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

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

function inToMm ($val) {
  return $val * 25.4
}