精华内容
下载资源
问答
  • 问:为啥写JavaScript的去尾法,网上有一大堆“JS保留小数 去尾法 进一法 四舍五入法”不够我抄的吗? 答:网上找的那段代码,经过一段时间的使用后,发现js浮点数运算不精确,比如将39.8保留两位小数,居然变成了39...

    问:为啥写JavaScript的去尾法,网上有一大堆“JS保留小数 去尾法 进一法 四舍五入法”不够我抄的吗?
    答:网上找的那段代码,经过一段时间的使用后,发现js浮点数运算不精确,比如将39.8保留两位小数,居然变成了39.79。为了不再继续掉入别人挖的坑,也为了不让新人入坑,决定重写JavaScript的去尾法。如果有不完善的地方,欢迎大家在评论区指正。

    去尾法

    这是我的原创方法,返回字符串,如果有不完善的地方,欢迎大家在评论区指正。

    //去尾法
    Number.prototype.toFloor = function (num) {
    	if (num < 0) {
    		return this;
    	}
    	let nnum = Number.parseFloat(this);
    	let str = nnum.toString();
    	let arr = str.split(".");
    	let strZ = arr[0];//arr[0] 整数部分,arr[1] 小数部分
    	let strX = "";    //小数点与小数部分
    	if (arr.length > 1) {//有小数
    		if (num > 0) {
    			if (arr[1].length >= num) {//小数长,保留位短
    				strX = arr[1].substr(0, num);
    			} else {//小数短,保留位长
    				let zeroArr = [];
    				for (let i = 0; i < num - arr[1].length; i++) {
    					zeroArr.push(0);
    				}
    				strX = arr[1].toString() + zeroArr.join("");
    			}
    			strX = "." + strX;
    		}
    	} else {//无小数
    		if (num > 0) {
    			let zeroArr = [];
    			for (let i = 0; i < num; i++) {
    				zeroArr.push(0);
    			}
    			strX = "." + zeroArr.join("");
    		}
    	}
    	let result = strZ + "" + strX;
    	return result;
    };
    

    进一法

    抄袭网络,如有不足,请指正。

    //进一法
    Number.prototype.toCeil = function (num) {
    	return Math.ceil(this * Math.pow(10, num)) / Math.pow(10, num);
    };
    

    四舍五入法

    我觉得toFixed(num)就很好用啊。
    注意:数字.toFiexed(小数位数)返回字符串。

    toFixed

    1.235.toFixed(2) = 1.23
    1.2350001.toFixed(2) = 1.24
    

    抄袭网络

    //四舍五入法
    Number.prototype.toRound = function (num) {
    	return Math.round(this * Math.pow(10, num)) / Math.pow(10, num);
    };
    

    批评疯传已久的去尾法

    //去尾法
    Number.prototype.toFloor = function (num) {
    	return Math.floor(this * Math.pow(10, num)) / Math.pow(10, num);
    };
    

    //举例,将39.8保留两位小数

    Math.floor(39.8 * Math.pow(10, 2)) / Math.pow(10, 2); //39.79
    Math.floor(38.8 * Math.pow(10, 2)) / Math.pow(10, 2); //38.79
    //39.80 * 100 = 3979.9999999999995
    

    参考文献

    [1] JS保留小数 去尾法 进一法 四舍五入法[DB|OL]. https://www.cnblogs.com/nbgzc/p/5261015.html

    展开全文
  • 掐头法和去尾法记音标

    千次阅读 2017-05-22 16:15:00
    掐头法和去尾法记音标 一、字母音分类 名称音 发音     二、掐头法   三、a发音   四、去尾法 五、e、i、a区别   i一指 读作一 e两指 a三指  ...

    掐头法和去尾法记音标

    一、字母音分类

    名称音  发音

     

     

    二、掐头法

     

    三、a发音

     

    四、去尾法

    五、e、i、a区别

     

    i一指   读作一

    e两指

    a三指

     

    展开全文
  • IOS 四舍五入 进一法 去尾法 float numberToRound; int result; numberToRound =4.51; result = (int)roundf(numberToRound); NSLog(@"roundf(%f) = %d", numberToRound, result);// roundf(4...

    IOS 四舍五入 进一法 去尾法

    float numberToRound;

       int result;

     

        numberToRound = 4.51;

        result = (int)roundf(numberToRound);

        NSLog(@"roundf(%f) = %d", numberToRound, result); // roundf(4.510000) = 5

     

        result = (int)ceilf(numberToRound);

        NSLog(@"ceilf(%f) = %d", numberToRound, result); // ceilf(4.510000) = 5

     

        result = (int)floorf(numberToRound);

        NSLog(@"floorf(%f) = %d", numberToRound, result); // floorf(4.510000) = 4

     

        numberToRound = 10.49;

        result = (int)roundf(numberToRound);

        NSLog(@"roundf(%f) = %d", numberToRound, result); // roundf(10.490000) = 10

     

        result = (int)ceilf(numberToRound);

        NSLog(@"ceilf(%f) = %d", numberToRound, result); // ceilf(10.490000) = 11

     

        result = (int)floorf(numberToRound);

        NSLog(@"floorf(%f) = %d", numberToRound, result); // floorf(10.490000) = 10

     

        numberToRound = -2.49;

        result = (int)roundf(numberToRound);

        NSLog(@"roundf(%f) = %d", numberToRound, result); // roundf(-2.490000) = -2

     

        result = (int)ceilf(numberToRound);

        NSLog(@"ceilf(%f) = %d", numberToRound, result); // ceilf(-2.490000) = -2

     

        result = (int)floorf(numberToRound);

        NSLog(@"floorf(%f) = %d", numberToRound, result); // floorf(-2.490000) = -3

     

        numberToRound = -3.51;

        result = (int)roundf(numberToRound);

        NSLog(@"roundf(%f) = %d", numberToRound, result); // roundf(-3.510000) = -4

     

        result = (int)ceilf(numberToRound);

        NSLog(@"ceilf(%f) = %d", numberToRound, result); // ceilf(-3.510000) = -3

     

        result = (int)floorf(numberToRound);

        NSLog(@"floorf(%f) = %d", numberToRound, result); // floorf(-3.510000) = -4

    转载于:https://www.cnblogs.com/fengfeng159/p/11357998.html

    展开全文
  • //toFixed 四舍五入遇到坑。 1.235.toFixed(2) = 1.23 1.2350001.toFixed(2) = 1.24 ...//去尾法 Number.prototype.toFloor = function (num) { return Math.floor(this * Math.pow(10, num)) / Math.pow(10,...
    //toFixed 四舍五入遇到坑。
    
    1.235.toFixed(2) = 1.23
    1.2350001.toFixed(2) = 1.24
    
     
    
    //去尾法
    Number.prototype.toFloor = function (num) {
    return Math.floor(this * Math.pow(10, num)) / Math.pow(10, num);
    };
    
    //进一法
    Number.prototype.toCeil = function (num) {
    return Math.ceil(this * Math.pow(10, num)) / Math.pow(10, num);
    };
    
    //四舍五入法
    Number.prototype.toRound = function (num) {
    return Math.round(this * Math.pow(10, num)) / Math.pow(10, num);
    };

     

    转载于:https://www.cnblogs.com/LChenglong/p/9170334.html

    展开全文
  • //去尾法,最小去尾单位为0.000001 floorf(4.1)4 floorf(4.9)4 floorf(4.999999)4 floorf(4.9999999)5 //进一法,最小进位单位为0.000001 ceilf(4.1)5 ceilf(4.9)5 ceilf(4.000001)4 ceilf(4.0000001)5 转载...
  • 2.57 3.55 什么是音标词(很简单,先自己猜一猜) 4.42 ...quweifa去尾法 的发音 dg 的发音 10.30 这三个音的 发音规律 ,从下到上,三齿规律 ...
  • OC进一法和去尾法

    千次阅读 2016-08-20 16:10:47
    Objective-C拓展了C,自然很多用法是和C一致的。比如浮点数转化成整数,就有以下四种情况。  1.简单粗暴,直接转化 float f = 1.5; int a; a = (int)f; NSLog("a = %d",a);...(int)是强制类型转化,丢弃浮点数的...
  • //结果为0.468CGFloat tFloat = (CGFloat)375/800;//结果为0CGFloat tFloat = 375/800;//结果为0CGFloat tFloat = 1/0;//结果为+lnf 代表正无穷CGFloat tFloat = (CGFloat)1/0; ...
  • 格式化小数(去尾法,不四舍五除)

    千次阅读 2007-08-10 13:24:00
    格式化小数(去尾法,不四舍五除)评论/浏览(0/0)发表时间:2007年5月14日 14时12分 http://user.qzone.qq.com/9655814 适用:asp 作用:返回数值的整数部分(负数带负号返回) Function formattail(re) If IsNumeric...
  • oracle 数字的四舍五入、去尾、收尾
  • Java除法结果带小数、进一法的实现(java) Java除法结果带小数、进一法的实现(java)进一法: 即省略的位上只要大于零都要进一位 ;... 还有一种 去尾法: 即省略的位上不管是否满五都...
  • http://blog.csdn.net/windone0109/article/details/5355379进一法: 即省略的位上只要大于零都要进一位 ;...去尾法: 即省略的位上不管是否满五都要舍去 ; 1、除法带小数 例如: int a = 8; int b = 3; ...
  • Oracle 語

    2009-03-02 10:42:00
    Oracle Functions(Oracle函數) Number Functions(數字函數) Function(函數) Result(結果) description(描述) ROUND(45.926, 2)45.93四捨五入TRUNC(45.926, 2)45.92去尾法MOD
  • Java除结果带小数、进一的实现

    万次阅读 2010-03-08 10:16:00
    进一法: 即省略的位上只要大于... 还有一种 去尾法: 即省略的位上不管是否满五都要舍去 ; 1、除法带小数例如: int a = 8; int b = 3; int c = ((double)la)/b; System.out.println(c);系统打印:2.666666666666
  • 输入两个数a和b,输出a/b,去尾法保留整数。不许用乘或除或取余。 想半天不知道怎么做。只好去看discuss。原来是用了左移和右移。 然后自己做。铁孤儿题。边界条件一堆,快把我折磨出INT_MIN的PTSD了。 二、...
  • handleData.zip

    2020-11-23 17:16:22
    Qt编写的数据处理demo,包括数据的圆整操作:去尾法、四舍五入法和进一法,以及数据的反转操作。以double类型的数据为例。
  • ||arg_RealNum 要处理的实数;||arg_preci 取精度,精度值,例如:0 -- "个位"; 1 -- "十分位"等;-1--十位;(1)-- "进一";Ceil(arg_RealNum * Power(10,...

空空如也

空空如也

1 2 3 4 5 ... 12
收藏数 231
精华内容 92
关键字:

去尾法