【华为机试刷题笔记】HJ7-取近似值

【华为机试刷题笔记】HJ7-取近似值_第1张图片

题目描述

写出一个程序,接受一个正浮点数值,输出该数值的近似整数值。如果小数点后数值大于等于 0.5 ,向上取整;小于 0.5 ,则向下取整。
数据范围:保证输入的数字在 32 位浮点数范围内
输入描述:
输入一个正浮点数值
输出描述:
输出该数值的近似整数值

示例1

输入:5.5
输出:6
说明:0.5>=0.5,所以5.5需要向上取整为6   

示例2

输入:2.499
输出:2
说明:0.499<0.52.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))
}()

文章系原创,在阅读过程中如若有误,劳请指正;如若有妙解、疑惑也欢迎大家和我交流,感谢!

你可能感兴趣的:(快乐刷题每一天之华为机试103,javascript,node.js,前端,算法)