php增值税计算

这篇具有很好参考价值的文章主要介绍了php增值税计算。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在PHP中计算增值税时,可以根据不同的情况来确定是价内税还是价外税。以下是两种计算方法的示例:

1. 价内税计算

假设原始价格为$price,增值税率为$taxRate(以百分比表示)。要计算价内税,可以使用以下公式:

$vat = $price * $taxRate / (100 + $taxRate);

$totalPrice = $price - $vat;

首先,将增值税率转换为小数形式(除以100),然后将原始价格乘以增值税率,并除以(100 + 增值税率)。这样就得到了增值税金额。最后,用原始价格减去增值税金额,即可得到价内税的总价格。

2. 价外税计算

假设原始价格为$price,增值税率为$taxRate(以百分比表示)。要计算价外税,可以使用以下公式:

$vat = $price * $taxRate / 100;

$totalPrice = $price + $vat;

同样,将增值税率转换为小数形式(除以100),然后将原始价格乘以增值税率,即可得到增值税金额。最后,将原始价格和增值税金额相加,即可得到价外税的总价格。

以上是用PHP计算增值税的基本方法。根据具体需求和业务逻辑,您可以根据这些示例进行适当的修改和调整。

示例:文章来源地址https://www.toymoban.com/news/detail-510216.html

<?php


namespace Template\compute\controllers;

use App\Http\Controllers\MyController;
use http\Env\Request;

class FormulaController extends MyController
{

    /**
     * 增值税计算
     * @return \Illuminate\Http\JsonResponse
     */
    public function valueAddedTaxCal()
    {
        $price = $this->request('price');
        $taxRate = $this->request('tax_rate');

        //1. 价内税计算
        $within_vat = $price * $taxRate / (100 + $taxRate);
        $within_vat = sprintf("%.2f",$within_vat);
        $within_tax_excl_price = $price - $within_vat;
        $within_tax_excl_price = sprintf("%.2f",$within_tax_excl_price);

        // 2. 价外税计算
        $extra_vat = $price * $taxRate / 100;
        $extra_vat = sprintf("%.2f",$extra_vat);
        $extra_incl_tax_price = $price + $extra_vat;
        $extra_incl_tax_price = sprintf("%.2f",$extra_incl_tax_price);

        $data = [
            'extra_excl_tax_price' => $price,
            'extra_tax_rate_price' => $extra_vat,
            'extra_incl_tax_price' => $extra_incl_tax_price,
            'within_tax_excl_price' => $within_tax_excl_price,
            'within_tax_rate_price' => $within_vat,
            'within_incl_tax_price' => $price,
        ];
        return $this->jsonSuc(['result' => $data ?? []]);
    }
}


//结果
{
	"result": {
		"extra_excl_tax_price": "500",//(价外税)不含税
		"extra_tax_rate_price": "25.00",//(价外税)税额
		"extra_incl_tax_price": "525.00",//(价外税)含税总金额
		"within_tax_excl_price": "476.19",//(价内税)不含税
		"within_tax_rate_price": "23.81",//(价内税)税额
		"within_incl_tax_price": "500"//(价内税)含税总金额
	},
	"msg": "操作成功",
	"code": 200
}

到了这里,关于php增值税计算的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • uni-app动态tabBar,根据不同用户展示不同的tabBar

    因为我们用的是uni-app框架开发,所以在创建项目的时候直接创建uni-ui的项目即可,这个项目模板中自带了uni的一些好用的组件和api。 起初我想着这个效果不难实现,因为官方也有api可以直接使用,所以我最开始尝试就是使用uni的api完成,也就是这个 :uni.setTabBarItem(options) 我

    2024年02月09日
    浏览(51)
  • Nginx - 根据请求参数路由进行不同的响应

    业务有一个统一入口 需要对不同的接口实现流控 最常见的是通过location进行路径匹配的时候,但是 无法使用正则表达一起捕获这个路径和querstring的参数 。如果我们想通过URL里面的Query String进行不同的rewrite,应该如何处理呢?答案就是$arg变量。 Nginx里面 $query_string 与 $args

    2024年02月09日
    浏览(39)
  • CSS实现根据子元素数量应用不同样式

    在前端的页面布局中经常会出现在子元素个数使用不同的样式的需求,比如文章列表,在较少内容下单列表现,而在元素内容较多时使用双列表现。再比如在页面排版上,可以根据元素内容的多少来修改内容的缩放,位置,颜色等样式 : has()选择器中的括号传递一个选择器参

    2024年02月11日
    浏览(40)
  • uni-app打包小程序根据不同编译条件打包不同静态素材目录

    在uni-app开发小程序的时候,我们经常有这样的需求,一个小程序,拥有多个不同样式的模板,发布的时候,为了减少包的体积,我们希望只打包当前使用的模板对应的静态素材目录,而其他模板的目录不打包进去。 在package.json中定义的模板变量如下: 每一个模板的静态素材

    2024年02月10日
    浏览(56)
  • 优雅实现微信小程序动态tabBar,根据不同用户角色显示不同底部导航

    背景 在开发小程序过程中,有个需求是,小程序底部的tabBar需要根据不同用户角色显示不同底部导航。此时就需要用到自定义底部导航 custom-tab-bar。 上次发文是组合显示4个底部tabBar导航,很多小伙伴评论说组合超过5个怎么办。他们的需求总数超过5个了。 现在我在这里更新

    2024年02月14日
    浏览(38)
  • vue启动配置npm run serve,动态环境变量,根据不同环境访问不同域名

    首先创建不同环境的配置文件,比如域名和一些常量,创建一个env文件,先看看文件目录 env.dev就是dev环境的域名,.test就是test环境域名,其他同理,然后配置package.json文件 scripts里面就是我们的运行配置,当我们执行npm run dev的时候就会读取env.dev文件里面的配置,其他同理,

    2024年02月12日
    浏览(44)
  • Flume监听多个文件目录,并根据文件名称不同,输出到kafka不同topic中

    https://blog.csdn.net/qinqinde123/article/details/128130131 flume监听到有新文件出现的时候,会将文件内容推送到kakfa的topic中,但是如果文件夹中有不同类型的文件,直接推送到kafka的同一个topic中,如果根据内容无法区分不同类型的文件,那就需要根据文件名称来区分。flume本身根据配置

    2023年04月08日
    浏览(66)
  • Uniapp根据权限(角色)不同动态展示底部tabbar

    比如绑定openId展示的tabbar为:首页、巡检、工单 未绑定openId展示的tabbar为:在线报修、我的报修 首页配置pages.json中的tabbar: 这里只用配置pagePath就可以了~ 具体代码如下: 创建一个自定义的tabbar文件: 具体代码如下: 注意:pagePath的最前面要   加  / 创建index.js文件配置

    2024年04月26日
    浏览(49)
  • nginx中根据请求参数的不同将请求转发到不同的服务(map模块的使用)

    需求 :有一个文本翻译的接口,需要根据原语、目标语、以及apikey的不同转发到不同的服务; 实现 :可以使用Nginx的map模块来实现基于请求参数的转发。具体实现步骤如下: 在Nginx配置文件中定义一个map块,用于根基请求参数判断对应的转发地址, $arg_apikey 是获取请求参数

    2024年02月16日
    浏览(52)
  • Flutter的Platform介绍-跨平台开发,如何根据不同平台创建不同UI和行为

    Flutter 平台(Platform)是一个概念,用于描述 Flutter 框架在不同操作系统(如Android、iOS、Web、macOS、Windows等)上运行时的适应性和支持。Flutter 旨在实现跨平台开发,使开发人员能够使用单一代码库构建应用程序,然后在多个平台上运行,而无需编写平台特定的代码。以下是有

    2024年02月08日
    浏览(64)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包