javascript - 为什么我在这个问题上总是得到错误的答案?
问题描述
我在 Uri Online Judge 站点中需要有关此逻辑问题的帮助:
提交的代码以 "var n" 开头,我使用 var 行来处理输入示例:
var lines = ["400.00"]
/**
* Code your solution here
*/
var n = parseFloat(lines[0]);
if (n <= 400.0) {
console.log("Novo salario: " + Math.round(n * 1.15).toFixed(2));
console.log("Reajuste ganho: " + (n * 0.15).toFixed(2));
console.log("Em percentual: 15 %");
} else if (n <= 800.0) {
console.log("Novo salario: " + Math.round(n * 1.12).toFixed(2));
console.log("Reajuste ganho: " + (n * 0.12).toFixed(2));
console.log("Em percentual: 12 %");
} else if (n <= 1200.0) {
console.log("Novo salario: " + Math.round(n * 1.10).toFixed(2));
console.log("Reajuste ganho: " + (n * 0.10).toFixed(2));
console.log("Em percentual: 10 %");
} else if (n <= 2000.0) {
console.log("Novo salario: " + Math.round(n * 1.07).toFixed(2));
console.log("Reajuste ganho: " + (n * 0.07).toFixed(2));
console.log("Em percentual: 7 %");
} else {
console.log("Novo salario: " + Math.round(n * 1.04).toFixed(2));
console.log("Reajuste ganho: " + (n * 0.04).toFixed(2));
console.log("Em percentual: 4 %");
}
解决方案
我看到的第一个问题是Math.round()
当问题没有在任何地方提到任何形式的四舍五入时你使用。
Math.round(n * 1.12).toFixed(2)
示例输出显示了880.01
哪个是无法获得的,Math.round
因为它四舍五入到最接近的整数。
编辑:这是编写此内容的简洁方法,无需重复。
let factor; <-- // var factor; if no es6
if (n <= 400.0)
factor = 0.15
else if (n <= 800.0)
factor = 0.12
else if (n <= 1200.0)
factor = 0.1
else if (n <= 2000.0)
factor = 0.07
else
factor = 0.04
console.log("Novo salario: " + (n * (1 + factor)).toFixed(2));
console.log("Reajuste ganho: " + (n * factor).toFixed(2));
console.log("Em percentual: " + factor * 100 + " %");
推荐阅读
- pandas - 熊猫十分位排名
- python - 如何使用 Python Flask 和 Axios/ReactJs 发送用户输入附件?
- javascript - 如何从注入 Svelte 应用程序的网页获取和设置 Svelte 商店值?
- pytorch - Colab TPU 在创建模型时崩溃并重新启动
- visual-studio - “找不到参考组件‘XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX’。” 对于所有在 VS2017 中的参考资料
- android - Android Webview Chromium UnitTests 失败并出现 java.lang.NoSuchMethodError
- azure - 如何配置空闲笔记本的 Azure DataBricks 自动驱逐?
- docker - docker-compose 失败的说图像不存在
- android-studio - Android Studio 编辑文本为空
- java - 如何读取 ArrayList
从特定行