精华内容
下载资源
问答
  • double双精度保留两位小数最简单实用的操作,介绍一个,当然还有几个专业的操作方法,这里就不介绍了。 如果想要专业写法,建议百度,或者查阅java帮助文档中的java.lang.math class Test01 { public static void...

    我是学习java的新手,对于遇到的一些问题自己做个总结,java中最常见的就是保留精度。


    double双精度只保留两位小数最简单实用的操作,介绍一个,当然还有几个专业的操作方法,这里就不介绍了。

    如果想要专业写法,建议百度,或者查阅java帮助文档中的java.lang.math

    class Test01
    {
       public static void main(String[] args)
      {
        double a=2.2343545465;
        //保留两位小数
        a=(int)(a*100)/100.0; 
        System.out.println("a="+a);
      }
    }
    输出结果就是2.23;

    欢迎测试。
    如果有更多交流的,请加入QQ群214875382群链接:http://url.cn/RjCNG6

    展开全文
  • c++ 输出保留两位小数怎样实现

    千次阅读 2020-03-03 10:17:26
    班上有学生若干名,给出每名学生的年龄(整数),求班上所有学生的平均年龄,保留到小数点后两位。 输入描述: 第一行有一个整数n(1<= n <= 100),表示学生的人数。其后n行每行有1个整数,取值为15到25。 ...

    题目描述:

    班上有学生若干名,给出每名学生的年龄(整数),求班上所有学生的平均年龄,保留到小数点后两位。

    输入描述:

    第一行有一个整数n(1<= n <= 100),表示学生的人数。其后n行每行有1个整数,取值为15到25。

    输出描述:

    可能有多组测试数据,对于每组数据,
    输出一行,该行包含一个浮点数,为要求的平均年龄,保留到小数点后两位。
    示例1
    输入

    2
    18
    17
    

    输出

    17.50
    

    参考链接

    #include <iostream>
    #include <iomanip>
    using namespace std;
    int main()
    {
        int n,nn;
        float f,sum;
        while(cin>>n)
        {
            nn=n;
            sum=0.0;
            while(n--)
            {
                cin>>f;
                sum+=f;
            }
            cout<<setiosflags(ios::fixed)<<setprecision(2);
            cout<<sum/nn<<endl;
        }
        return 0;
    }
    
    展开全文
  • python保留两位小数

    千次阅读 2020-12-04 21:53:13
    基础浮点数是用机器上浮点数的本机双精度(64 bit)表示的。提供大约17的精度和范围从-308到308的指数。和C语言里面的double类型相同。Python不支持32bit的单精度浮点数。如果程序需要精确控制区间和数字精度,可以...

    基础

    浮点数是用机器上浮点数的本机双精度(64 bit)表示的。提供大约17位的精度和范围从-308到308的指数。和C语言里面的double类型相同。Python不支持32bit的单精度浮点数。如果程序需要精确控制区间和数字精度,可以考虑使用numpy扩展库。

    Python 3.X对于浮点数默认的是提供17位数字的精度。

    关于单精度和双精度的通俗解释:

    单精度型和双精度型,其类型说明符为float 单精度说明符,double 双精度说明符。在Turbo C中单精度型占4个字节(32位)内存空间,其数值范围为3.4E-38~3.4E+38,只能提供七位有效数字。双精度型占8 个字节(64位)内存空间,其数值范围为1.7E-308~1.7E+308,可提供16位有效数字。

    要求较小的精度

    将精度高的浮点数转换成精度低的浮点数。

    1.round()内置方法

    这个是使用最多的,刚看了round()的使用解释,也不是很容易懂。round()不是简单的四舍五入的处理方式。

    For the built-in types supporting round(), values are rounded to the closest multiple of 10 to the power minus ndigits; if two multiples are equally close, rounding is done toward the even choice (so, for example, both round(0.5) and round(-0.5) are 0, and round(1.5) is 2).

    1 >>> round(2.5)

    2 2

    3 >>> round(1.5)

    4 2

    5 >>> round(2.675)

    6 3

    7 >>> round(2.675, 2)

    8 2.67

    round()如果只有一个数作为参数,不指定位数的时候,返回的是一个整数,而且是最靠近的整数(这点上类似四舍五入)。但是当出现.5的时候,两边的距离都一样,round()取靠近的偶数,这就是为什么round(2.5) = 2。当指定取舍的小数点位数的时候,一般情况也是使用四舍五入的规则,但是碰到.5的这样情况,如果要取舍的位数前的小数是奇数,则向下取舍,如果偶数则向上取舍。看下面的示例:

    1 >>> round(2.635, 2)

    2 2.63

    3 >>> round(2.645, 2)

    4 2.65

    5 >>> round(2.655, 2)

    6 2.65

    7 >>> round(2.665, 2)

    8 2.67

    9 >>> round(2.675, 2)

    10 2.67

    2. 使用格式化

    效果和round()是一样的。

    1 >>> a = ("%.2f" % 2.635)

    2 >>> a

    3 '2.63'

    4 >>> a = ("%.2f" % 2.645)

    5 >>> a

    6 '2.65'

    7 >>> a = int(2.5)

    8 >>> a

    9 2

    要求超过17位的精度分析

    python默认的是17位小数的精度,但是这里有一个问题,就是当我们的计算需要使用更高的精度(超过17位小数)的时候该怎么做呢?

    1. 使用格式化(不推荐)

    1 >>> a = "%.30f" % (1/3)

    2 >>> a

    3 '0.333333333333333314829616256247'

    可以显示,但是不准确,后面的数字往往没有意义。

    2. 高精度使用decimal模块,配合getcontext

    1 >>> from decimal import *

    2 >>> print(getcontext())

    3 Context(prec=28, rounding=ROUND_HALF_EVEN, Emin=-999999, Emax=999999, capitals=1, clamp=0, flags=[], traps=[InvalidOperation, DivisionByZero, Overflow])

    4 >>> getcontext().prec = 50

    5 >>> b = Decimal(1)/Decimal(3)

    6 >>> b

    7 Decimal('0.33333333333333333333333333333333333333333333333333')

    8 >>> c = Decimal(1)/Decimal(17)

    9 >>> c

    10 Decimal('0.058823529411764705882352941176470588235294117647059')

    11 >>> float(c)

    12 0.058823529411764705

    默认的context的精度是28位,可以设置为50位甚至更高,都可以。这样在分析复杂的浮点数的时候,可以有更高的自己可以控制的精度。其实可以留意下context里面的这rounding=ROUND_HALF_EVEN 参数。ROUND_HALF_EVEN, 当half的时候,靠近even.

    关于小数和取整

    既然说到小数,就必然要说到整数。一般取整会用到这些函数:

    1. round()

    这个不说了,前面已经讲过了。一定要注意它不是简单的四舍五入,而是ROUND_HALF_EVEN的策略。

    2. math模块的ceil(x)

    取大于或者等于x的最小整数。

    3. math模块的floor(x)

    去小于或者等于x的最大整数。

    1 >>> from math import ceil, floor

    2 >>> round(2.5)

    3 2

    4 >>> ceil(2.5)

    5 3

    6 >>> floor(2.5)

    7 2

    8 >>> round(2.3)

    9 2

    10 >>> ceil(2.3)

    11 3

    12 >>> floor(2.3)

    13 2

    14 >>>

    展开全文
  • js保留两位小数

    千次阅读 2021-03-03 15:07:11
    以下我们将为大家介绍JavaScript保留两位小数的实现方法:四舍五入以下处理结果会四舍五入:var num =2.446242342;num = num.toFixed(2); // 输出结果为 2.45不四舍五入以下处理结果不会四舍五入:第一种,先把小数边...

    以下我们将为大家介绍JavaScript保留两位小数的实现方法:

    四舍五入

    以下处理结果会四舍五入:var num =2.446242342;

    num = num.toFixed(2); // 输出结果为 2.45

    不四舍五入

    以下处理结果不会四舍五入:

    第一种,先把小数边整数:Math.floor(15.7784514000 * 100) / 100

    // 输出结果为 15.77

    第二种,当作字符串,使用正则匹配:Number(15.7784514000.toString().match(/^\d+(?:\.\d{0,2})?/))

    // 输出结果为 15.77,不能用于整数如 10 必须写为10.0000

    注意:如果是负数,请先转换为正数再计算,最后转回负数

    javascript保留两位小数的实例:

    //保留两位小数

    //功能:将浮点数四舍五入,取小数点后2位

    function toDecimal(x) {

    var f = parseFloat(x);

    if (isNaN(f)) {

    return;

    }

    f = Math.round(x*100)/100;

    return f;

    }

    //制保留2位小数,如:2,会在2后面补上00.即2.00

    function toDecimal2(x) {

    var f = parseFloat(x);

    if (isNaN(f)) {

    return false;

    }

    var f = Math.round(x*100)/100;

    var s = f.toString();

    var rs = s.indexOf('.');

    if (rs < 0) {

    rs = s.length;

    s += '.';

    }

    while (s.length <= rs + 2) {

    s += '0';

    }

    return s;

    }

    function fomatFloat(src,pos){

    return Math.round(src*Math.pow(10, pos))/Math.pow(10, pos);

    }

    //四舍五入

    alert("保留2位小数:" + toDecimal(3.14159267));

    alert("强制保留2位小数:" + toDecimal2(3.14159267));

    alert("保留2位小数:" + toDecimal(3.14559267));

    alert("强制保留2位小数:" + toDecimal2(3.15159267));

    alert("保留2位小数:" + fomatFloat(3.14559267, 2));

    alert("保留1位小数:" + fomatFloat(3.15159267, 1));

    //五舍六入

    alert("保留2位小数:" + 1000.003.toFixed(2));

    alert("保留1位小数:" + 1000.08.toFixed(1));

    alert("保留1位小数:" + 1000.04.toFixed(1));

    alert("保留1位小数:" + 1000.05.toFixed(1));

    //科学计数

    alert(3.1415.toExponential(2));

    alert(3.1455.toExponential(2));

    alert(3.1445.toExponential(2));

    alert(3.1465.toExponential(2));

    alert(3.1665.toExponential(1));

    //精确到n位,不含n位

    alert("精确到小数点第2位" + 3.1415.toPrecision(2));

    alert("精确到小数点第3位" + 3.1465.toPrecision(3));

    alert("精确到小数点第2位" + 3.1415.toPrecision(2));

    alert("精确到小数点第2位" + 3.1455.toPrecision(2));

    alert("精确到小数点第5位" + 3.141592679287.toPrecision(5));

    用Javascript取float型小数点后两位,例22.127456取成22.13,如何做?

    1.丢弃小数部分,保留整数部分

    parseInt(5/2)

    2.向上取整,有小数就整数部分加1

    Math.ceil(5/2)

    3,四舍五入.

    Math.round(5/2)

    4,向下取整

    Math.floor(5/2)

    Math 对象的方法

    方法描述

    abs(x)返回数的绝对值

    acos(x)返回数的反余弦值

    asin(x)返回数的反正弦值

    atan(x)以介于 -PI/2 与 PI/2 弧度之间的数值来返回 x 的反正切值

    atan2(y,x)返回从 x 轴到点 (x,y) 的角度(介于 -PI/2 与 PI/2 弧度之间)

    ceil(x)对一个数进行上舍入。

    cos(x)返回数的余弦

    exp(x)返回 e 的指数。

    floor(x)对一个数进行下舍入。

    log(x)返回数的自然对数(底为e)

    max(x,y)返回 x 和 y 中的最高值

    min(x,y)返回 x 和 y 中的最低值

    pow(x,y)返回 x 的 y 次幂

    random()返回 0 ~ 1 之间的随机数

    round(x)把一个数四舍五入为最接近的整数

    sin(x)返回数的正弦

    sqrt(x)返回数的平方根

    tan(x)返回一个角的正切

    toSource()代表对象的源代码

    valueOf()返回一个 Math 对象的原始值

    另类的方法

    1. 最笨的办法

    代码如下:function get()

    {

    var s = 22.127456 + "";

    var str = s.substring(0,s.indexOf(".") + 3);

    alert(str);

    }

    2. 正则表达式效果不错

    代码如下:< script type="text/javascript">

    onload = function(){

    var a = "23.456322";

    var aNew;

    var re = /([0-9]+.[0-9]{2})[0-9]*/;

    aNew = a.replace(re,"$1");

    alert(aNew);

    }

    < /script>

    3. 他就比较聪明了.....

    代码如下:< script>

    var num=22.127456;

    alert( Math.round(num*100)/100);

    < /script>

    4.会用新鲜东西的朋友....... 但是需要 IE5.5+才支持。

    5.js保留2位小数(强制)

    对于小数点位数大于2位的,用上面的函数没问题,但是如果小于2位的,比如:changeTwoDecimal(3.1),将返回3.1,如果你一定需要3.10这样的格式,那么需要下面的这个函数:

    代码如下:function changeTwoDecimal_f(x) {

    var f_x = parseFloat(x);

    if (isNaN(f_x)) {

    alert('function:changeTwoDecimal->parameter error');

    return false;

    }

    var f_x = Math.round(x * 100) / 100;

    var s_x = f_x.toString();

    var pos_decimal = s_x.indexOf('.');

    if (pos_decimal < 0) {

    pos_decimal = s_x.length;

    s_x += '.';

    }

    while (s_x.length <= pos_decimal + 2) {

    s_x += '0';

    }

    return s_x;

    }

    功能:将浮点数四舍五入,取小数点后2位,如果不足2位则补0,

    这个函数返回的是字符串的格式用法:changeTwoDecimal(3.1415926)返回3.14 changeTwoDecimal(3.1)返回3.10

    展开全文
  • 剖析Java输出怎么保留两位小数

    千次阅读 2021-02-26 18:50:02
    Java中,当两个整数相除时,由于小数点以后的数字会被截断,运算结果将为整数,此时若希望得到运算结果为浮点数,必须将两整数其一或是两者都强制转换为浮点数,也就是Java输出怎么保留两位小数?接下来郑州达内Java...
  • JavaDecimalFormat dcmFmt = new DecimalFormat("0.00");double db = 12333.353;...JS//保留两位小数//功能:将浮点数四舍五入,取小数点后2位function toDecimal(x) {var f = parseFloat(x);if (isNaN(f...
  • 项目中有一个小需求,两个整数相除,结果需要保留两位小数,即1.00、0.50这种数据格式。以下做法不行,因为两整数相除,小数点以后的数字会被截断,让运算结果为整数类型,int x = 10;int y = 20;int a = x/y;System...
  • python中保留两位小数怎么表示

    千次阅读 2020-11-24 04:07:22
    这里有三种方法,round(a,2)'%.2f' % aDecimal('5.000').quantize(Decimal('0.00'))当需要输出的结果要求有两位小数的时候,字符串形式的:'%.2f' % a 方式最好,其次用Decimal。需要注意的:1. 可以传递给Decimal...
  • 3个结果分别为: 复制代码代码如下: 3.23 0.00 2.00 java保留两位小数问题: 方式一: 四舍五入 复制代码代码如下: double f = 111231.5585; BigDecimal b = new BigDecimal(f); double f1 = b.setScale(2...
  • 今天,简单讲讲android如何保留运算结果为浮点数时,保留两位小数显示。这个其实很简单,最近做一个功能时,获取到文件的大小为B的数据,在界面上需要显示为MB,这是需要转换才可以1MB=1024*1024B,所以需要进行触发...
  • 判断NaN的真假 isNaN(val) 当val为NaN的时候,isNaN(val)返回ture 当val不为NaN的时候,isNaN(val)返回false LR种录制模式的区别 loadrunner的录制模式分为如下种录制模式: HTML-based script,也称为高层录制: ...
  • 今天在进行开发的过程中遇到了一个小问题,是关于如何将double类型的数据保留两位小数。突然发现这方面有一点欠缺,就来总结一下。 一、String类的方式 该方式是是使用String的format()方法来实现的,该方法的作用...
  • bigdecimal multiply 怎么保留2位小数

    千次阅读 2021-03-04 05:56:00
    展开全部BigDecimal b=new BigDecimal(e68a84e8a2ad62616964757a686964616f313333656436620);b.multiply(new BigDecimal(0))....一、简介Java在java.math包中提供的API类BigDecimal,用来对超过16有效的...
  • Java中double保留两位小数的各种方法

    千次阅读 2020-09-10 21:05:03
    目录一、使用BigDecimal的setScale方法二、使用Sting自带的format方法三、使用NumberFormat设置最大小数位数四、使用DecimalFormat,#.00为保留两位小数 一、使用BigDecimal的setScale方法 double one = 5.864; ...
  • 怎么表示python中保留两位小数发布时间:2020-07-11 15:00:24来源:亿速云阅读:77作者:Leah怎么表示python中保留两位小数?很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有...
  • c语言中怎么保留小数2

    千次阅读 2021-02-06 16:52:06
    在c语言中让一个数保留2位小数可以通过精度限定符来完成,精度限定符有一个点号后跟一个整数组成。其准确含义依赖于它所修饰的数据类型。示例如下:#include<stdio.h>intmain(){printf("%.2lf\n",1.2345678);...
  • 答:需要准备的材料分别有:电脑、C语言编译器。 1、首先,打开C语言编译器,新建一个... 3、编译器运行test.cpp文件,此时成功将浮点数保留了小数点后...答:#include #include char str[51]; int n,count,i; int...
  • c# 让double保留两位小数

    千次阅读 2018-06-26 15:54:51
    1、Math.Round(0.333333,2);//按照四舍五入的国际标准 2、 double dbdata=0.335333;...//默认为保留两位 还有一个类似的方法,但是不提倡: double d1 = 0.335333; string d2 = d1.ToString("...
  • Double值保留两位小数的四种方法 转载https://blog.csdn.net/hello_word2/article/details/81808827
  • c语言中的关键字有哪些?_后端开发c语言中的关键字有32个,分别为auto、int、double、long、char、float、short、signed、unsigned、struct、union、enum...float 称为单精度浮点型,double 称为双精度浮点型。不像...
  • arcmap属性表中显示数字,如何才能在保留两位小数显示小数点前面的0——字段显示的格式: 点亮字段,右键属性,“数字格式”按钮“...",寻自定义”,选下来框里的“0.0”,即可。 保留两位小数——字段结构: 在...
  • 方法: // 货币计数法的方法 const priceSplitter = (number: number) =>... * 金额相除100保留2位小数 */ export function divideKeepTwoDecimal(num: number) { if (!num) { return 0; } // 小数点
  • 结果: 0.00 9.62 9.62 9.62 9.62 9.99 -9.99 -9.00 首先注意一个double是一个二进制小数,并没有真正的小数位。 如果您需要小数位,请使用BigDecimal (其中包含用于截断的setScale()方法setScale() ,或者使用...
  • C# 保留两位小数

    千次阅读 2018-02-05 10:35:05
    1.只要求保留N不四舍5入 float f = 0.55555f; int i =(int)(f * 100); f = (float)(i*1.0)/100; 2.保留N,四舍五入 . decimal
  • 浮点类型保留两位小数的方法 import java.text.DecimalFormat; public class Test { public static void main(String[] args) { double num = 102.1375; double ans = formatDouble1(num); System.out.println...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 18,452
精华内容 7,380
关键字:

双精度保留两位小数