zoukankan      html  css  js  c++  java
  • 小数和百分数相互转化

    function toPercent(point,num){
        
                if (point==0) {
                    return 0;
                }
          
                var str=Number(point*100).toFixed(num);
                str+="%";
                return str;
       }
        
    
    //point  接收的数据
    //num   保留小数位

    toFixed() 方法

    可把 Number 四舍五入为指定小数位数的数字。

    NumberObject.toFixed(num)

    num:必需。规定小数的位数,是 0 ~ 20 之间的值,包括 0 和 20,有些实现可以支持更大的数值范围。如果省略了该参数,将用 0 代替。

    传说中这个方法有什么银行家算法,并不是四舍五入,我们可以对这个方法重写

    银行家舍入法:四舍六入五考虑,五后非零就进一,五后为零看奇偶,五前为偶应舍去,五前为奇要进一。

    Number.prototype.toFixed = function (s) {
            var times = Math.pow(10, s);
            var des = this * times + 0.5;
            des = parseInt(des, 10) / times;
            return des + '';
    };

    定义全局方法对负数进行处理

     // num表示需要四舍五入的小数
     // s表示需要保留几位小数
        function toFixed(num, s) {
            var times = Math.pow(10, s);
            if (num < 0) {
                num = Math.abs(num);//先把负数转为正数,然后四舍五入之后再转为负数
                var des = parseInt((num * times + 0.5), 10) / times;
                return -des;
            } else {
                var des = parseInt((num * times + 0.5), 10) / times;
                return des;
            }
        }
        console.log(toFixed(0.335, 2));//0.34
        console.log(toFixed(-0.335, 2));//-0.34
        console.log(toFixed(-1.5, 0));//-2

    百分数转小数

    var percent = "4.2%";
            function toPoint(percent){
                    var str=percent.replace("%","");
                        str= str/100;
                    return str;
            }
            var result = toPoint(percent); //0.042
  • 相关阅读:
    P1410 子序列 (动态规划)
    P2085 最小函数值 (堆)
    [ZJOI2007]棋盘制作 (单调栈,动态规划)
    [ZJOI2005]午餐 (贪心,动态规划)
    黑匣子_NOI导刊2010提高 (对顶堆)
    [BZOJ1455] 罗马游戏 (左偏树||并查集)
    P1651 塔 (动态规划)
    两类斯特林数 (组合数学)
    从编程到工程
    失败的过程也是过程
  • 原文地址:https://www.cnblogs.com/ll15888/p/11875757.html
Copyright © 2011-2022 走看看