`

把一个浮点数,以小数点后几位四舍五入

    博客分类:
  • js
UI 
阅读更多
/**
* 把一个浮点数,以小数点后几位四舍五入
* @param srcValue 要舍位的值
* @param iCount  要舍位到小数点后几位
* @return 四舍五入后的数
*/
function round(srcValuef, iCount) {
    var srcValue=srcValuef;
    var zs=true;
    // 判断是否是负数
    if (srcValue<0){
        srcValue=Math.abs(srcValue);
        zs=false;
    }
    var iB = Math.pow(10, iCount);
    var value1 = srcValue * iB;
    var anumber = new Array();
    var anumber1 = new Array();

    var fvalue = value1;    // 保存原值
    var value2 = value1.toString();
    var idot = value2.indexOf(".");
 
    // 如果是小数
    if (idot!=-1){
        anumber = srcValue.toString().split(".");
        // 如果是科学计数法结果
        if (anumber[1].indexOf("e") != -1 || anumber[1].indexOf("E") != -1){
            return Math.round(value1)/iB;
        }
       
        anumber1=value2.split(".");
        if (anumber[1].length <= iCount){
            return parseFloat(srcValuef,10);
        }
   
        var fvalue3=parseInt(anumber[1].substring(iCount,iCount+1),10);
        if (fvalue3 >= 5){
            fvalue=parseInt(anumber1[0],10)+1;
        } else {
            //对于传入的形如111.834999999998 的处理(传入的计算结果就是错误的,应为111.835)
            if (fvalue3==4 && anumber[1].length>10 && parseInt(anumber[1].substring(iCount+1,iCount+2),10)==9 ){
                fvalue=parseInt(anumber1[0],10)+1;
            } else {
                fvalue=parseInt(anumber1[0],10);
            }
        }
    } 
    // 如果是负数就用0减四舍五入的绝对值
    if (zs){
        return fvalue/iB;
    } else {
        return 0-fvalue/iB;
    }
}
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    TIA博途-截取浮点数-自定义小数位数-全局FC库文件-V17版本-GF-截取浮点数-自定义小数点后位数.zip

    在这个“GF_截取浮点数_自定义小数点后位数”文件中,我们可以预见到它包含了一个功能块,专门处理浮点数的截取操作。 该功能块的输入参数可能包括: 1. 浮点数源(Input Real):这是待处理的浮点数,用户需要传递...

    输入一个浮点数,判断小数有几位——C语言代码

    题目要求编写一段代码,输入一个浮点数并判断其小数部分有几位。这涉及到对浮点数的内部表示、转换和精度的理解。以下是对这个任务的详细解释: 首先,我们需要知道浮点数在计算机中的存储方式。在C语言中,标准...

    TIA博途中如何处理浮点数从而得到精确的小数点位数的具体方法.docx

    例如,可以定义一个名为`InputFloat`的输入浮点数变量和一个名为`DecimalPlaces`的整数变量,表示需要保留的小数位数,以及一个名为`OutputFloat`的输出浮点数变量,存储处理后的新值。 接下来,我们需要在FC块的...

    c#将带有小数点的数值四舍五入为整数

    这个方法接收一个双精度浮点数作为输入,并返回四舍五入后的最接近整数的`double`类型值。例如: ```csharp double result = Math.Round(3.5); // 结果为4.0 ``` 2. **Math.Round(double a, int digits)** 此...

    sql取小数点后N位.txt

    在这段代码中,`ROUND(Col002, 1)`表示将`Col002`列中的数值四舍五入到小数点后一位。然后,通过`CONVERT(NUMERIC(8,1), ...)`将结果转换为指定的数据类型,其中`NUMERIC(8,1)`表示整个数字的总长度为8位,小数点后...

    asp.net小数点四舍五入的方法

    假设我们有一个浮点数`f = 0.55555f`,如果想保留两位小数而不四舍五入,可以先将其乘以100,转换为整数`i = (int)(f * 100)`,然后除以100得到`f = (float)(i * 1.0) / 100`。这种方法简单但不适用于需要四舍五入的...

    强制保留小数点后几位

    根据给定的信息,本文将详细解释如何在编程中实现对浮点数小数位数的精确控制,尤其是在C++环境中如何实现“强制保留小数点后几位”的功能。 ### 强制保留小数点后几位 在计算机科学与程序设计中,处理浮点数时...

    DELPHI完美的四舍五入.rar

    DELPHI最完美的四舍五入无BUG函数,是我花费了2天研究出来的成果,完美保留1-4个小数点,包内提供有EXCEL表取值可以把计算结果复制出来做结果对比,我已经随机取了十几万记录做对比,居然无一值和EXCEL的函数保留有...

    三菱PLC FX系列 Q系列 L系列 PLC 程序用到 浮点数 小数点的程序案例 例子.zip

    2. 精度控制:理解浮点数运算可能出现的精度问题,如四舍五入误差。 3. 溢出检测:检查运算结果是否超出浮点数的表示范围,防止错误的计算结果。 4. 异常处理:设置适当的错误处理机制,如除以零或非法数据输入等...

    C语言四舍五入的函数

    它接受一个双精度浮点数`t`和一个整数`n`作为参数,`t`代表要进行四舍五入操作的数字,而`n`则表示四舍五入到小数点后第`n`位。函数内部首先利用`n_hundred()`函数计算出10的`n`次幂,然后将其与`t`相乘,转换成整数...

    三菱PLC浮点数运算指令

    EZCP指令用于将一个源操作数与一个指定的浮点数范围进行比较,判断源操作数是否位于该范围内,并将结果以ON/OFF的形式反映在目标操作数上。这个指令通常用于控制系统中,根据反馈信号的范围来判断设备的工作状态。 ...

    Javascript四舍五入(二)源码

    对于四舍五入来说,可以通过匹配小数点后的第三位及其之后的所有数字,并用前两位小数代替它们。 **示例代码:** ```javascript window.onload = function () { var a = "23.456322"; var aNew; var re = /([0-9...

    西门子1200实现小数按位截取

    可以采用四舍五入、向下取整或向上取整等策略,这些都需要在编程时明确指定。 4. **PLC指令应用**:在西门子S7-1200中,可以使用算术运算指令(如MUL、DIV)和转换指令(如CONV)来执行这些操作。同时,可能还需要...

    go浮点数转字符串保留小数点后N位的完美解决方法

    `strconv.FormatFloat`接受一个浮点数、格式类型(如`'f'`)、精度(小数点后位数)和浮点数的大小(32位或64位),但可能会保留小数点后的零。而`fmt.Sprintf`中的`%.2f`会保留两位小数,`%g`则会自动去掉小数点后...

    C# Double保留小数点后面位数

    在C#编程语言中,处理浮点数时经常会遇到需要保留特定小数点后位数的需求。例如,在财务计算、数据分析以及其他对精度有严格要求的应用场景中,如何精确控制数值的小数部分显示就显得尤为重要。本文将围绕“C# ...

    JS保留小数点(四舍五入、四舍六入)实现思路及实例

    它首先使用 `parseFloat` 转换为浮点数,然后乘以100,使用 `Math.round()` 进行四舍五入,最后除以100得到保留两位小数的数。 2. 强制保留两位小数的方法: 当需要保留两位小数,即使数值为整数时,也需要在末尾...

    浮点数转化为16进制

    根据 IEEE 754 标准,有几种不同的舍入策略,如四舍五入、向零舍入、向上舍入和向无穷舍入等。选择合适的舍入策略以确保结果的精度。 4. **二进制到16进制转换**:将标准化后的二进制浮点数转换为16进制。这可以...

    javascript 取小数点后几位几种方法总结

    例如,如果要保留两位小数,可以先乘以100,四舍五入后,再除以100。这种方法能较好地处理精度问题,但需要手动操作转换。 最后一种方法是使用Number对象的toFixed()方法。toFixed()方法可以将数值转换成保留指定...

    js保留小数点后几位的写法

    在JavaScript中,保留小数点后几位的数值是一个常见的需求,无论是在前端展示数据还是在进行财务计算时,合理地控制数字的精度都是非常重要的。JavaScript提供了几种方法来实现这一功能,本篇文章主要介绍了如何使用...

    浮点数与定点数的相互转换

    例如,在8位二进制数中,若小数点被固定在最低有效位(LSB)前一位,则该数被称为一个8位定点小数。定点数的优点在于运算简单、快速,缺点是在表示大范围数值时不够灵活。 **2. 浮点数** 浮点数是一种能够表示非常...

Global site tag (gtag.js) - Google Analytics