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

Php 在呈现模板期间引发异常(“警告:字符串转换时数据丢失”),php,symfony,doctrine,twig,Php,Symfony,Doctrine,Twig,我正在使用 这是我的小树枝 <td class="text-right">{{ accDocument.taxValueSum|number_format(3, ',', ' ') }} {{ accDocument.currency.code }}</td> 它的工作精度从3提高到15 public function getVatValue(): Decimal { return new Decimal($this->vatV

我正在使用

这是我的小树枝

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

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

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

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

据我所知,精度与值长度有关。所以新的十进制($value,strlen((string)$value))应该可以工作。就你而言:

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

问题是什么?你不知道如何处理这个例外?或者你不知道异常的含义是什么?我不知道如何处理该异常。显然,你应该抓住它(),并根据你的业务案例,对其进行处理。或者,如果您确定字符串是十进制的,就直接忽略它。@AdiFatol在
twig
中没有try/catch,我想知道当您访问
accDocument.taxValueSum
时,您的
getVatValue()
是如何调用的。。。总数肯定有所不同?
public function getVatValue(): Decimal     
{         
    return new Decimal($this->vatValue, strlen((string) $this->vatValue));     
}