当前位置: 首页 > 面试题库 >

round()似乎无法正确舍入

墨高杰
2023-03-14
问题内容

round()函数的文档指出,您为其传递了一个数字,并将小数点后的位置传递给四舍五入。因此,它 应该 这样做:

n = 5.59
round(n, 1) # 5.6

但是,实际上,良好的旧浮点怪异现象不断蔓延,您会得到:

5.5999999999999996

出于UI的目的,我需要显示5.6。我在互联网上闲逛,发现一些文档取决于我对Python的实现。不幸的是,这在我的Windows开发机和我尝试过的每台Linux服务器上都会发生。另请参阅此处。

除了创建自己的回合库之外,还有什么办法可以解决?


问题答案:

我不知道它的存储方式,但至少格式化正确:

'%.1f' % round(n, 1) # Gives you '5.6'


 类似资料:
  • 我不能使用vqmod。当ı单击管理面板中的vqmod时,它会显示 VQMod似乎没有正确生成vqcache文件 我还使用与汽车相关的产品xml。是这件事造成的?我不知道。 还有一些产品页面说 注意:未定义索引:product_info in/home/elmaicom/domains/elmacimarketi。com/public\u html/vqmod/vqcache/vq2-catalog

  • 问题内容: 例如,\ b退格键打印为四边形(在下面的示例中显示为[])。但是\ n换行符还可以。 我在Vista(Pro),Python 2.7下运行 香港专业教育学院试图谷歌搜索这个问题,并因此找不到任何相关的东西,这似乎很奇怪,我不知道是否有一些设置或其他可能在我的设置中是错误的。不知道要寻找什么。 问题答案: 我做错了什么或应该寻找什么? 期望退格(特别是工作)是否合理? 不,IDLE不支持

  • 问题内容: 我正在尝试通过检查golang TCPConn.Write返回的错误来检测发送失败,但它为nil。我也尝试使用TCPConn.SetWriteDeadline,但没有成功。 事情就是这样发生的: 服务器启动 客户端连接 服务器发送一条消息,客户端收到它 客户端 关闭 服务器再发送一条消息:没有错误 服务器发送第三条消息:仅现在出现错误 问题 :为什么只有第二条消息发送给不存在的客户端会

  • 问题内容: 我正在为我的android应用程序使用retrofit:2.0.0-beta4。 我尝试使用Retrofit添加用户,该用户已在Database中正确创建,但是出现以下错误: 服务器返回的结果是: 这是正确的json格式,我不明白为什么会收到这样的异常? 这是我们的界面: 呼叫者代码为: 有人可以提供任何线索吗? 问题答案: 最后,我解决了与json宽松模式无关的问题,我的POST响应

  • 当我将输入类型属性设置为数字(Android:输入类型=“数字”)并设置数字属性时,就像这个Android:数字=“0123456789”。输入事件按预期正常工作。即仅以数字形式接收输入。参考屏幕截图 当我将inputType属性设置为text person name(Android:input type = " text person name ")并像这样设置digits属性android:d

  • 我对nodeJS…和编程是新手。但我试图让这段代码工作,我无法理解为什么它似乎不起作用。更糟糕的是,我也不知道如何排除故障。如果我使用控制台。日志语句,我可以看到,一旦我启动网页,它就会连接,但网页从未从nodeJS服务器收到消息,服务器也从未从网页收到消息。我正在使用Chrome浏览器。 服务器.js: 我从命令提示符在树莓pi zero w上启动它: index.html引用interface

  • 我有一个Java的Web应用程序,当通过eclipse或通过将. war文件复制/粘贴到本地tomcat部署时,它将正确部署,我可以使用Web应用程序。我试图在安装了tomcat的GCE实例上部署此应用程序。远程tomcat停止后,我将. war文件复制到webapps文件夹中,就像我对本地tomcat所做的那样,并启动tomcat。我可以在catalina.out看到一条消息,它正在部署Web应

  • 我正在查询具有嵌套对象的集合。域模型如下所示: 我正在使用如下所示的条件进行查询: 同时,我还在研究如何解决这个问题,因为我不能改变文档结构...