zoukankan      html  css  js  c++  java
  • 进位方法

    jsp

    1、四舍六入 基进偶不进

    function fomatFloat(src, pos) {
    var numArray, resultSymbol = "";
    if (src < 0) {
    resultSymbol = "-";
    }
    if (pos == "") {
    pos = new Number(0);
    }
    src = src.toString().replace("-", "");
    if (src.indexOf('.') > 0) {
    numArray = src.split('.');
    if (numArray[1].length > pos) {
    var endStr, isCarry=false;
    if (numArray[1].length > parseFloat(pos) + 1) {
    endStr = numArray[1].substring(parseFloat(pos) + 1);
    for (var i = 0; i < endStr.length; i++) {
    if (endStr[i] > 0) {
    isCarry = true;
    break;
    }
    }
    }
    numArray[1] = numArray[1].substring(0, pos + 1);
    var endChar = numArray[1][pos];
    var newpoint = new Number("0." + numArray[1].substring(0, pos));
    if (endChar >= 5 && pos >= 0) {
    if (endChar > 5) {
    if (pos == 0) {
    numArray[1] = 1;
    }
    else {
    numArray[1] = parseFloat(newpoint) + parseFloat(Math.pow(0.1, pos));
    }
    }
    else if (endChar == 5) {
    //5后面有有效数字,直接向前进一位
    if (isCarry) {
    numArray[1] = parseFloat(newpoint) + parseFloat(Math.pow(0.1, pos));
    return PointFloat(resultSymbol + eval(numArray.join("+")), pos);
    }
    if (pos == 0) {
    if (numArray[0] % 2 != 0) {
    numArray[1] = 1;
    } else {
    numArray[1] = 0;
    }
    return PointFloat(resultSymbol + eval(numArray.join("+")), pos);
    }
    var preChar = numArray[1][pos - 1];
    if (preChar % 2 == 0) {
    numArray[1] = newpoint;
    }
    else {
    numArray[1] = parseFloat(newpoint) + parseFloat(Math.pow(0.1, pos));
    }
    }
    return PointFloat(resultSymbol + eval(numArray.join("+")), pos);
    }
    else {
    numArray[1] = newpoint;
    return PointFloat(resultSymbol + eval(numArray.join("+")), pos);
    }
    }
    return src;

    } else {
    return resultSymbol + src;
    }
    return src;
    }
    function PointFloat(src, pos) {
    return Math.round(src * Math.pow(10, pos)) / Math.pow(10, pos);
    }

    2、四舍五入
    Math.round(value*1000)/1000

    3.直接截取3位小数;不到则补零
    function numFormat(value,num){
    var a, b, c, i;
    a = value.toString();
    b = a.indexOf(".");
    c = a.length;
    if (num == 0) {
    if (b != -1) {
    a = a.substring(0, b);
    }
    } else {//如果没有小数点
    if (b == -1) {
    a = a + ".";
    for (i = 1; i <= num; i++) {
    a = a + "0";
    }
    } else {//有小数点,超出位数自动截取,否则补0
    a = a.substring(0, b + num + 1);
    for (i = c; i <= b + num; i++) {
    a = a + "0";
    }
    }
    }
    return a;
    }
    ==================================================================================
    java中
    1、四舍五入
    doubl d = 0.0008;
    String.format("%.3f", d); //0.001
  • 相关阅读:
    CSS3 transition 过度
    CSS3 2D转换
    jQuery 选择器
    bootstrap、qjuery、插件 、字体网页
    利用jquery.backstretch插件,背景切换
    js 背景自动切换
    Jquery
    分析动态网页请求爬取腾讯视频评论
    追女神助手v0.1
    动态加载网页的爬取总结
  • 原文地址:https://www.cnblogs.com/xlj227/p/10621789.html
Copyright © 2011-2022 走看看