>>> a=13.949999999999999

>>> round(a, 2)

13.949999999999999

print('%.2f'%a)

>>>13.95

>>>13.94

`还可以使用decimal`
`decimal.Decimal类型是Python中满足高精度计算的一种数据类型，使用进需要导入decimal包`

1 无法使用赋字面值的方式定义

2 定义方式如下：

>>> import decimal >>> x = decimal.Decimal(87345) >>> x Decimal('87345') >>> x = decimal.Decimal('123.3344332566334') >>> x Decimal('123.3344332566334') 可以传递给Decimal整型或者字符串参数，但不能是浮点数据，因为浮点数据本身就不准确

`>>> x = decimal.Decimal.from_float(127.3323)>>> xDecimal('127.332300000000003592504072003066539764404296875')`

I have 3 questions pertaining to decimal arithmetic in Python, all 3 of which are best asked inline:

1)

``````fromimport,Decimal>>>().=6>>>Decimal'50.567898491579878'  1Decimal'50.5679'
# How is this a precision of 6? If the decimal counts whole numbers as>>># part of the precision, is that actually still precision?>>>and``````

2)

``````fromimport,Decimal>>>().=6>>>Decimal'50.567898491579878'
Decimal'50.567898491579878'
# Shouldn't that have been rounded to 6 digits on instantiation?>>>Decimal'50.567898491579878'  1Decimal'50.5679'
# Instead, it only follows my precision setting set when operated on.>>>3)``````
``````# Now I want to save the value to my database as a "total" with 2 places.>>>fromimportDecimal>>># Is the following the correct way to get the value into 2 decimal places,>>># or is there a "better" way?>>>=Decimal'50.5679'quantizeDecimal'0.00'
# Just wanted to see what the value wasDecimal'50.57'
()>>>本机测试用例：``````
1. >>> import decimal
2. >>> x = decimal.Decimal(87345)
3. >>> x
4. Decimal('87345')
5. >>> print x
6. 87345
7. >>> from decimal import getcontext, Decimal
8. >>> x = Decimal('0.998531571219').quantize(Decimal('0.00'))
9. >>> x
10. Decimal('1.00')
11. >>> print x
12. 1.00
13. >>> x = Decimal('0.998531571219').quantize(Decimal('0.0000'))
14. >>> x
15. Decimal('0.9985')
16. >>> print x
17. 0.9985
18. >>> y = Decimal.from_float(0.998531571219)
19. >>> y
20. Decimal('0.99853157121900004700165709436987526714801788330078125')
21. >>> y = Decimal.from_float(0.998531571219).quantize(Decimal('0.0000'))
22. >>> y
23. Decimal('0.9985')
24. >>> print y
25. 0.9985
26. >>> f1 = 0.998531571219
27. >>> f1
28. 0.998531571219
29. >>> type(f1)
30. <type 'float'>
31. >>> f2 = str(f1)
32. >>> f2
33. '0.998531571219'
34. >>> type(f2)
35. <type 'str'>
36. >>>

python中保留两位小数的更多相关文章

1. Python中保留两位小数的几种方法

https://blog.csdn.net/Jerry_1126/article/details/85009810 保留两位小数,并做四舍五入处理方法一: 使用字符串格式化>>> a ...

2. Oracle中保留两位小数

在最近的项目开发中,有个业务需求是界面显示的数字需要保留两位小数,目前我想到的解决方法有两种: (1)在写SQL的时候,直接保留两位小数 (2)在java代码里面将查询出来的数进行格式化处理,保留两位 ...

3. C#中保留两位小数但不四舍五入的最优做法

多种做法比较 class Program_保留两位小数但不四舍五入 { static void Main(string[] args) { Helper.Run(delegate () { metho ...

4. java中保留两位小数的方法

1.BigDecimal的setScale // RoundingMode 舍入模式: // 1.UP/DOWN ->基准为数字0: // 2.CEILING/FLOOR ->基准为正负无 ...

5. Office EXCEL 如何保留两位小数，四舍五入

选中若干单元格,然后右击设置单元格格式,数值中保留两位小数   使用round函数四舍五入,如下图所示,我在N10单元格中输入"ROUND(M10,1)"即可,其中ROUND是函数 ...

6. python（62）：保留两位小数

转载:https://blog.csdn.net/jiandanjinxin/article/details/77752297 在C/C++语言对于整形数执行除法会进行地板除(舍去小数部分). 例如 ...

7. 字符串怎么换行 || 字符串中使用单引号时应该怎么写 || 保留两位小数 || 数字0在if中的意思是false || 什么情况下会会报undefined || null和undefined的区别 ||

换行的字符串 "This string\nhas two lines" 字符串中使用单引号时应该怎么写 'You\'re right, it can\'t be a quote' ...

8. python保留两位小数

python保留两位小数: In [1]: a = 5.026 In [2]: b = 5.000 In [3]: round(a,2) Out[3]: 5.03 In [4]: round(b,2) ...

9. JS中格式化数据保留两位小数

问题:在JS中格式化数据保留两位小数的函数的多种方法 最好方法: 保留两位好像是这样吧     var   a   =   9.39393;     alert(a.toFixed(2)); 说明: ...

随机推荐

1. [转帖]网络协议封封封之Panabit配置文档

原帖地址:http://myhat.blog.51cto.com/391263/322378

2. JQ弹出框移动-插件分享~~~

<script src="js/jQuery8.3.js" type="text/javascript"></script> <s ...

3. DELPHI WEBSERVICE

一.服务程序 1.依次选择 NEW -> OTHER -> WEB SERVICE -> SOAP SERVER APPLICATION -> ISAPI DYNAMIC LI ...

4. 【Linux/Ubuntu学习5】Ubuntu 下android 开发，eclipse不能识别手机

ubuntu下eclipse不能识别手机解决方法: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1) 在终端运行 lsusb 会发现结果 ...

5. Linux shell 脚本攻略之文件查找与文件列表

摘自:<Linux shell 脚本攻略>

6. JS学习之页面加载

7. log4net截取配置错误信息，(验证配置信息是否配置正确)

在</system.web>之后 <!--log4错误日志配置:开始--> <system.diagnostics> <trace autoflush=&qu ...

8. 使用java对sql server进行增删改查

import java.sql.Connection; import java.sql.DriverManager; import java.sql.PreparedStatement; import ...

9. Good Teacher（模拟）

Good Teacher Time Limit:1000MS     Memory Limit:0KB     64bit IO Format:%lld & %llu Submit Statu ...

10. STM32M CUBE实现printf打印调试信息以及实现单字节接收