Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/367.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如果费用百分比因数字的不同金额而变化,如何计算费用?香草javascript_Javascript - Fatal编程技术网

如果费用百分比因数字的不同金额而变化,如何计算费用?香草javascript

如果费用百分比因数字的不同金额而变化,如何计算费用?香草javascript,javascript,Javascript,代码笔: 我想写一个程序来计算建筑费用。用户输入一个数字,然后根据该数字计算建筑商费用 该建筑的前5000个部分占8% 剩余的80000(含80000)再增加3% 或2.5%(如果剩余超过80000) 我已经处理了前5000个简单的if语句。我知道我应该用else if语句来完成其他2个条件,但我想不出如何“瞄准”用户输入的数字的某一部分?如果他们输入70000,我如何将第一个5000的目标定为8%,然后对剩余的65000应用3%的费用…等等。谢谢 另外,很抱歉在codepen lol中出现恼人

代码笔:

我想写一个程序来计算建筑费用。用户输入一个数字,然后根据该数字计算建筑商费用

该建筑的前5000个部分占8%

剩余的80000(含80000)再增加3%

2.5%(如果剩余超过80000)

我已经处理了前5000个简单的if语句。我知道我应该用else if语句来完成其他2个条件,但我想不出如何“瞄准”用户输入的数字的某一部分?如果他们输入70000,我如何将第一个5000的目标定为8%,然后对剩余的65000应用3%的费用…等等。谢谢

另外,很抱歉在codepen lol中出现恼人的窗口提示

<!DOCTYPE html>
<html>
  <body>

    <script language="JavaScript" type="text/javascript">
        function part04() {

            //    Define all variables 
            var costOfBuilding;
            var builderFee;
            var outputMessage;

            //    Obtain building cost from user
            costOfBuilding = prompt('What is the cost of the building?');

            //    Convert user string to a number
            costOfBuilding = Number(costOfBuilding);

            //    Calculate builder fee
            if (costOfBuilding <= 5000) {
                builderFee = costOfBuilding * .08;
                outputMessage = 'For a building that costs $'
                                + costOfBuilding
                                + ' the architect\'s fee will be $'
                                + architectFee
                                + '.';
            } 

            //    Display output message with building cost and builder fee
            document.write(outputMessage);
        }
    </script>

    <pre>
      <script language="JavaScript" type="text/javascript">
        part04();
      </script>
     </pre>

   </body>
</html>

函数第04部分(){
//定义所有变量
建筑风险价值;
var构建者;
var输出消息;
//从用户处获得建筑成本
costOfBuilding=prompt('建筑物的成本是多少?');
//将用户字符串转换为数字
建筑成本=数量(建筑成本);
//计算建造费

如果(建筑成本按以下方式更新您的计算,并删除
if
条件:

else if (costOfBuilding <= 80,000) {
   var remainingCost = costOfBuilding - 5000;
   architectFee = 5000 * .08 + remainingCost * .03;
}
else {
   var remainingCost = costOfBuilding - 5000;
   architectFee = 5000 * .08 + remainingCost * .025;
}
功能部件04(){
//定义所有变量
建筑风险价值;
var架构费;
var输出消息;
//从用户处获得建筑成本
costOfBuilding=prompt('建筑物的成本是多少?');
//将用户字符串转换为数字
建筑成本=数量(建筑成本);
//计算建筑师费用
//建筑费=(最小值(建筑成本5000)*0.08)+(最大值(建筑成本5000,0)*0.03)+(最大值(建筑成本80000,0)*0.025);
建筑费=(最小值(建筑成本,5000)*0.08)+(最大值(建筑成本-5000,0)*(建筑成本>80000?0.025:0.03));
outputMessage='对于成本为美元的建筑'+
建筑成本+
“建筑师的费用为美元”+
建筑师费+
'.';
//显示包含建筑成本和建筑师费用的输出消息
文件。写入(输出消息);
}

part04();
按如下方式更新您的计算,并在出现条件时删除

else if (costOfBuilding <= 80,000) {
   var remainingCost = costOfBuilding - 5000;
   architectFee = 5000 * .08 + remainingCost * .03;
}
else {
   var remainingCost = costOfBuilding - 5000;
   architectFee = 5000 * .08 + remainingCost * .025;
}
功能部件04(){
//定义所有变量
建筑风险价值;
var架构费;
var输出消息;
//从用户处获得建筑成本
costOfBuilding=prompt('建筑物的成本是多少?');
//将用户字符串转换为数字
建筑成本=数量(建筑成本);
//计算建筑师费用
//建筑费=(最小值(建筑成本5000)*0.08)+(最大值(建筑成本5000,0)*0.03)+(最大值(建筑成本80000,0)*0.025);
建筑费=(最小值(建筑成本,5000)*0.08)+(最大值(建筑成本-5000,0)*(建筑成本>80000?0.025:0.03));
outputMessage='对于成本为美元的建筑'+
建筑成本+
“建筑师的费用为美元”+
建筑师费+
'.';
//显示包含建筑成本和建筑师费用的输出消息
文件。写入(输出消息);
}

part04();
似乎有三种情况需要处理:小于5000、大于5000但小于80000和大于80000。在这两种尚未编写的情况下,您可以节省剩余成本并计算额外成本

因此,您可以将剩余的项目如下所示:


else if(costOfBuilding似乎有三种情况需要处理:小于5000、大于5000但小于80000和大于80000。在这两种尚未编写的情况下,您可以节省剩余成本并计算额外成本

因此,您可以将剩余的项目如下所示:


否则,如果(建筑成本
或2.5%,如果剩余部分超过80000。
只是为了确保,这听起来像是如果总数为85001,那么总费用将低于如果总数为84999?对于
outputMessage='对于成本为美元的建筑'…
部分,这是很常见的,因此您可以在
如果…否则…
条件后移动它将重新生成。)ce您的代码。@Karan啊,好主意。谢谢!只需对您的建议进行一个小的编辑,就可以在适当的else if语句中保留正确的.03和.025。
或者,如果剩余部分超过80000,则为2.5%。
只是为了确保,这听起来像是如果总数为85001,则总费用将低于总数为84999时的费用。
outputMessage=“对于成本为$的建筑,…
部分,这是很常见的,因此您可以在
if…else…
条件后移动它,这将减少您的代码。@Karan啊,好主意。谢谢!只是对您的建议做了一个小的编辑,以便在适当的else if语句中保留正确的.03和.025。
else if (costOfBuilding <= 80,000) {
   var remainingCost = costOfBuilding - 5000;
   architectFee = 5000 * .08 + remainingCost * .03;
}
else {
   var remainingCost = costOfBuilding - 5000;
   architectFee = 5000 * .08 + remainingCost * .025;
}