Laravel中基于Brutto计算Netto的代码实现需求(19%税率)
嘿,这事儿不难,咱们直接在现有含税价的区块旁边新增一个不含税价(Netto)的展示区块就行,同时处理好数值的格式化,让它符合欧元的显示规范~
直接在Blade模板中实现的代码
把这段代码放在你现有含税价代码的旁边或者合适的位置:
<div class="col-md-3"> <h4><i class="fa fa-hashtag"></i> Rechnung preis - Netto €</h4> <div class="form-group form-group-default"> <h5><strong>{{ number_format($data->bedrag_rechnung_brutto / 1.19, 2, ',', '.') }}</strong></h5> </div> </div>
补充说明:
- 数值格式化:用
number_format()函数是为了把计算后的数值保留两位小数,并且用逗号作为小数点分隔符、点作为千位分隔符,完全适配欧元区的货币显示习惯。 - 更优雅的做法(Laravel最佳实践):如果不想在模板里直接写计算逻辑,推荐在对应的数据模型里添加一个访问器,把计算逻辑封装起来:
// 假设你的模型是对应的数据模型类 public function getBedragRechnungNettoAttribute() { // 加上空值判断,避免出现除以0的异常情况 if (empty($this->bedrag_rechnung_brutto)) { return 0; } return $this->bedrag_rechnung_brutto / 1.19; }
之后在模板里就可以直接调用这个访问器,代码更简洁:
<div class="col-md-3"> <h4><i class="fa fa-hashtag"></i> Rechnung preis - Netto €</h4> <div class="form-group form-group-default"> <h5><strong>{{ number_format($data->bedrag_rechnung_netto, 2, ',', '.') }}</strong></h5> </div> </div>
这样不管在哪个地方需要用到不含税价,都可以直接调用$data->bedrag_rechnung_netto,逻辑统一维护,也更符合MVC的设计思想~
内容的提问来源于stack exchange,提问作者Martin
相关产品推荐
相关产品推荐

