首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >去掉科学符号

去掉科学符号
EN

Stack Overflow用户
提问于 2017-07-07 00:35:03
回答 1查看 1.9K关注 0票数 4

我需要做一些计算,但我遇到了一个非常低的值问题,例如,我需要得到0.005的2.7%,最后得到1.35000000000000003e-4,这不是我想要的,我只需要知道如何才能准确地理解这些值,我现在做的是<value> * 2.7 / 100,它对整数或浮动的值都很有用。

例如,我需要的是0.005的2.7%,需要显示为0.000135。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-07-07 01:09:21

首先,要理解语言并没有被破坏,它只是计算机在做浮点运算方面真的很差。

因此,从某种意义上说,1.3500000000000003e-4是准确的,但是这里的问题是,Elixir以指数表示法打印浮点数(非常小和非常大)。有几种方法可以将其打印为0.000135

  • 使用Erlang的float_to_binary: :erlang.float_to_binary(0.005 * 2.7 / 100,:紧致,{:小数,10}) #=> "0.000135“
  • 使用:io.format: :io.format(~f~n,0.005* 2.7 / 100) #=> "0.000135“
  • 或者使用exprintf,它是围绕Erlang的:io模块的一个很好的Elixir包装器

注意,结果是一个字符串,而不是上面的示例中的一个数字--因为您只是用十进制格式化/打印它。

票数 14
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44960798

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档