呈现模板期间引发了异常(“警告:字符串转换时数据丢失”)

时间:2019-04-09 11:06:27

标签: php symfony doctrine twig

我正在使用http://php-decimal.io/

这是我的树枝

<td class="text-right">{{ accDocument.taxValueSum|number_format(3, ',', ' ') }} {{ accDocument.currency.code }}</td>

这是我在实体中的功能

public function getVatValue(): Decimal     
{         
    return new Decimal($this->vatValue, 3);     
}

2 个答案:

答案 0 :(得分:0)

它的工作精度从3提高到15。

public function getVatValue(): Decimal     
{         
    return new Decimal($this->vatValue, 15);     
}

答案 1 :(得分:0)

来自official doc

如果未完全解析值,将发出警告。对于 例如,精度为2的“ 0.135”将导致“ 0.14”具有一个 警告。同样,精度为2的123将导致120 警告,因为数据已丢失。

据我了解,精度与值的长度有关。因此new Decimal($value, strlen((string) $value))应该有效。就您而言:

public function getVatValue(): Decimal     
{         
    return new Decimal($this->vatValue, strlen((string) $this->vatValue));     
}