当前位置: 首页 > 知识库问答 >
问题:

javascript - js动态计算阶梯区间的费率?

华凯捷
2023-06-15

image.png
如图例,0~499999内计算为*0.3;
500000~999999内计算为0~499999部分0.3,剩余部分0.25.
范围,和费率不固定,区间数也都动态配置,请教有没有什么方便的写法?

共有1个答案

燕正德
2023-06-15
 function calculateFee (amount) {
    // 配置不同的阶梯费率
    const rates = [
      { upperLimit: 499999, rate: 0.3 },
      { upperLimit: 999999, rate: 0.25 },
      // 可以添加更多的阶梯费率配置
      // { upperLimit: ..., rate: ... },
      // { upperLimit: ..., rate: ... },
    ];

    let fee = 0; // 初始费用

    for (let i = 0; i < rates.length; i++) {
      const currentRate = rates[i];

      if (amount <= currentRate.upperLimit) {
        fee += amount * currentRate.rate; // 计算当前阶梯的费用
        break; // 跳出循环,不再计算后续阶梯的费用
      } else {
        fee += currentRate.upperLimit * currentRate.rate; // 计算当前阶梯的费用
        amount -= currentRate.upperLimit; // 减去已计算的部分金额
      }
    }

    return fee;
  }

  // 测试计算费用
  console.log(calculateFee(200000));
  console.log(calculateFee(700000));

image.png

 类似资料:
  • 阶梯式面积图是基于步骤的面积图。 我们将讨论以下类型的阶梯区域图表。 Sr. No. 图表类型/描述 1 Basic Stepped Chart 基本阶梯面积图。 2 Stacked Stepped Chart 堆叠的阶梯区域图。

  • 如何动态计算时间所处的范围? 有如下场景,计算某一天的差旅补贴时(不考虑跨天),要根据出发时间t1和到达时间t2判断补贴的金额,同时出发时间的判断标准和返回时间的判断标准现在为12时(24小时制)。 现在有如下规则: t1>=(出发时间判断标准)12点,补贴为0.5,不考虑t2; t1<(出发时间判断标准)12点: t2>12(返回时间判断标准),补贴为1; t2<=12(返回时间判断标准),补贴

  • 本文向大家介绍js实现颜色阶梯渐变效果(Gradient算法),包括了js实现颜色阶梯渐变效果(Gradient算法)的使用技巧和注意事项,需要的朋友参考一下 html中颜色可以使用rgb和hex方式来表示。 在色彩中,色相、明度、纯度也都可以产生渐变效果,并会表现出具有丰富层次的美感。本文主要讲述两种颜色RGB数值的梯级渐变算法。 其中如如16进制颜色如#336600分别表示rgb模式中r的值为

  • 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 注意:给定 n 是一个正整数。 示例 1: 输入: 2 输出: 2 解释: 有两种方法可以爬到楼顶。 1. 1 阶 + 1 阶 2. 2 阶 示例 2: 输入: 3 输出: 3 解释: 有三种方法可以爬到楼顶。 1. 1 阶 + 1 阶 + 1 阶 2. 1 阶 + 2

  • 本文向大家介绍云计算和网格计算之间的区别,包括了云计算和网格计算之间的区别的使用技巧和注意事项,需要的朋友参考一下 云计算 云计算是指客户端-服务器计算框架,其中资源以集中方式进行管理。它作为按使用付费服务提供。云计算使系统始终可访问。 网格计算 网格计算是指由相同或不同类型的计算机组成的网络,其目标是提供一种环境,在该环境中可以由多个计算机根据需要一起执行任务。每台计算机也可以独立工作。网格计算

  • 我遇到了一个问题,需要计算非常大的阶乘的值。我用两种不同的方法在C中解决了这个问题,但只想知道我的复杂性分析是否准确。 在任何一种方法中,我都将非常大的数字表示为向量,其中表示最低有效数字,最后一个索引处的值表示最高有效数字。版本1的代码可以在这个要点中找到。 给定上面的代码,似乎是其中是给定的整数,是向量表示的数字。我的逻辑是,我们将执行一些与结果数字的长度成比例的步骤,以便生成一个表示的向量。