【华为机试刷题笔记】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)) }()