Yii2-小于1的小数,前导0

时间:2018-08-16 17:16:12

标签: php sql-server yii2

基本上,在我的MSSQL DB中,记录的列值为0.21,但是在视图(从DB读取的模型)中,它无处不在.21的情况下0。可以更改这种行为吗?

1 个答案:

答案 0 :(得分:1)

我不是MSSQL专家,但是在这种情况下,PDO可能以字符串形式返回.21。字符串.21将被识别为数字,因此1 + '.21'将返回1.21,但是当您只想显示此字符串时,将不进行任何转换。最简单的方法(至少从PHP方面来说)是将此值强制转换为float:

echo (float) '.21'; // 0.21

您还可以将AttributeTypecastBehavior配置为在活动记录级别自动执行此操作:

public function behaviors() {
    return [
        'typecast' => [
            'class' => AttributeTypecastBehavior::class,
            'attributeTypes' => [
                'my_attribute' => AttributeTypecastBehavior::TYPE_FLOAT,
            ],
        ],
    ];
}