zoukankan      html  css  js  c++  java
  • JS原始类型:数值的运用技巧

    保留特定位数的小数

    有一些题目常常要求格式化数值,:比如保存几位小数等等。
    1.使用Number.prototype.toFixed() 原生方法。该方法的参数为要保存的小数位数,有效范围为0到20,超出这个范围将抛出RangeError错误。此方法以四舍五入的方式处理多出的小数。
    语法为:

    numObj.toFixed([digits])

    例子:

    var temp = 3.141592653;
    console.log(temp.toFixed(2));
    //输出为3.14
    //此方法以四舍五入的方式处理多出的小数。
    console.log(temp.toFixed(4));
    //输出为3.1416

    如需要将末尾多余的0舍去,可以这样写:

    var temp1 = 3.0596;
    console.log(temp1.toFixed(3)*1000/1000);
    //输出为3.06

    2.使用Math.round() 方法。

    var temp2 = 2.17698;
    console.log(Math.round(temp2*1000)/1000);
    //输出为2.177
    //试一试能不能去掉末尾多余的0
    var temp2 = 2.17998;
    console.log(Math.round(temp2*1000)/1000);
    //输出为2.18,可以去掉末尾多余的0

    Math.ceil()也适用于这种写法。

    3.使用字符串对象的substr方法。

    var temp3 = 1.0836;
    var res = String(temp3).substr(0,String(temp3).indexOf('.')+3)
    console.log(Number(res))
    //输出为1.08

    进制相互转换

    其他进制转为十进制使用parseInt()方法:
    Number.parseInt() 方法可以根据给定的进制数把一个字符串解析成整数,语法为:

    Number.parseInt(string[, radix])

    例子:

    var res = Number.parseInt('123',16);
    console.log(res);
    //输出为291,也即十六进制的123转为十进制为291
    var res = Number.parseInt('123',8);
    console.log(res);
    //输出为83

    **注意:**parseFloat()并无这样的特性,该方法只是纯粹的转化浮点数的功能

    十进制转为其他进制:Number对象部署了单独toString()方法,可以接受一个参数,表示将一个数字转化为某个进制的字符串。

    (10).toString() //输出为‘10’
    (10).toString(2)//输出为‘1010’
    (10).toString(8)//输出为‘12’
    (10).toString(16)//输出为‘a’

    注意该方法改变了数据类型

    console.log(typeof (10).toString(2))//输出为string
  • 相关阅读:
    Linux下autoconf和automake使用
    (转)跟我一起写MAKEFILE
    软件源(Software Sources)
    我的攒机(zuosi)过程
    《软件可靠性方法》笔记(一)---第二章 预备知识
    初识java泛型
    配置React Native的开发环境
    IOS原生方法实现二维码生成与扫描
    12个非常不错的免费HTML后台管理模板
    iOS 集成银联支付
  • 原文地址:https://www.cnblogs.com/xihe/p/6138606.html
Copyright © 2011-2022 走看看