zoukankan      html  css  js  c++  java
  • python(62):保留两位小数

    转载:https://blog.csdn.net/jiandanjinxin/article/details/77752297

    在C/C++语言对于整形数执行除法会进行地板除(舍去小数部分)。

    例如 int a=15/10; a的结果为1。

    同样的在Java中也是如此,所以两个int型的数据相除需要返回一个浮点型数据的时候就需要强制类型转换,例如 float a = (float)b/c ,其中b、c都是int型数据。

    Python中分为3种除法:传统除法、精确除法、地板除。

    传统除法

    如果是整数除法则执行地板除,如果是浮点数除法则执行精确除法

      >>>1/2  
        0  
      >>>1.0/2.0  
        0.5  

    精确除法

    除法总是会返回真实的商,不管操作数是整形还是浮点型。

    执行from future import division 指令就可以做到这一点。

    # -*- coding: UTF-8 -*-
    from __future__ import division
    from __future__ import print_function
    from __future__ import unicode_literals
    >>>1/2
    0.5
    >>>1.0/2.0
    0.5

    地板除

    从Python2.2开始,增加了一个操作符 // ,以执行地板除://除法不管操作数为何种数值类型,总是会舍去小数部分,返回数字序列中比真正的商小的最接近的数字。

    >>>1//2 
    0 
    >>>1.0//2 
    0 
    >>>-1//2.0
    -1 

    内建函数divmod()

    divmod (a,b),返回(a//b,a%b) 

    >>>divmod(1,2)  
    (0,1)  
    >>>divmod(3.14159,1.5)  
    (2.0,0.4159000000000002)  
    >>>5+6j//3+2j  
    2+0j  
    >>>5+6j%3+2j  
    -1+2j  
    >>>divmod(5+6j,3+2j)  
    ((2+0j),(-1+2j))  

    保留两位小数

    In [1]: a = 5.026
    
    In [2]: b = 5.000
    
    In [3]: round(a,2)
    Out[3]: 5.03
    
    In [4]: round(b,2)
    Out[4]: 5.0
    
    In [5]: '%.2f' % a
    Out[5]: '5.03'
    
    In [6]: '%.2f' % b
    Out[6]: '5.00'
    
    In [7]: float('%.2f' % a)
    Out[7]: 5.03
    
    In [8]: float('%.2f' % b)
    Out[8]: 5.0
    
    In [9]: from decimal import Decimal
    
    In [10]: Decimal('5.026').quantize(Decimal('0.00'))
    Out[10]: Decimal('5.03')
    
    In [11]: Decimal('5.000').quantize(Decimal('0.00'))
    Out[11]: Decimal('5.00')

    当需要输出的结果要求有两位小数的时候,字符串形式的:’%.2f’ % a 方式最好,其次用Decimal

    round(a,2)
    '%.2f' % a
    Decimal('5.000').quantize(Decimal('0.00'))
    a = 1
    b = 3
    print(a/b)
    #方法一:
    print(round(a/b,2))
    #方法二:
    print(format(float(a)/float(b),'.2f'))
    #方法三:
    print ('%.2f' %(a/b))

  • 相关阅读:
    手机也需“绿色环保”,省电类APP或将成为“标配”?
    Netty入门实例及分析
    ios开发经常使用RGB色值
    poj Kaka's Matrix Travels
    C++ 继承体系中的名称覆盖
    spring-framework-3.2.4与hibernate-release-4.3.5下使用HibernateDaoSupport抛出异常
    Codeforces Round #131 Div1 B
    URAL 1837. Isenbaev's Number (map + Dijkstra || BFS)
    数据库升级代码学习
    delphi:临界区对象TCriticalSection(Delphi) 与 TRtlCriticalSection 的区别
  • 原文地址:https://www.cnblogs.com/lovychen/p/9713570.html
Copyright © 2011-2022 走看看