【华为机试刷题笔记】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))
}()
经验分享 程序员 微信小程序 职场和发展