【华为机试刷题笔记】HJ7-取近似值
题目描述
写出一个程序,接受一个正浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于 0.5 ,向上取整;小于 0.5 ,则向下取整。 数据范围:保证输入的数字在 32 位浮点数范围内 输入描述: 输入一个正浮点数值 输出描述: 输出该数值的近似整数值
示例1
输入:5.5 输出:6 说明:0.5>=0.5,所以5.5需要向上取整为6
示例2
输入:2.499 输出:2 说明:0.499<0.5,2.499向下取整为2
题解
下面展示本人题解思路代码。
/*
JS舍弃小数的方法:
1.Number.toFixed(小数位数)
2.parseInt()直接舍弃小数部分输出整数
parseInt(num+0.5)四舍五入
3.Math函数
(1)Math.ceil()向上取整
(2)Math.floor()向下取整
(3)Math.round()四舍五入
*/
const rl = require("readline").createInterface({
input: process.stdin })
var iter = rl[Symbol.asyncIterator]()
const readline = async () => (await iter.next()).value
void async function () {
// Write your code here
//readline()方法读取的是string类型,先用parseFloat()转换为浮点型
const num = parseFloat(await readline())
console.log(parseInt(num + 0.5))
}()
