【发布时间】:2016-06-28 22:59:18
【问题描述】:
我正在 Haskell 中寻找一种方法,以完全按照this (Java) question 中描述的方式格式化浮点数,以获得最佳紧凑性。我认为这也可以称为“规范化”。
我将在此处复制该问题中的示例场景:
2.80000 -> 格式应为"2.8"
765.000000 -> "765"(注意小数点也被去掉了)
0.0073943162953 -> "0.00739432"(在这种情况下将精度限制为 6 位)
0.0000073943162953 -> "7.39432E-6"(如果幅度足够小,则切换到科学计数法——在这种情况下小于1E-5)
7394316295300000 -> "7.39432E+6"(如果幅度足够大,则切换到科学计数法——例如,大于1E+10时)
0.0000073900000000 -> "7.39E-6"(从科学计数法的有效数字中去除尾随零)
0.000007299998344 -> "7.3E-6"(从 6 位精度限制四舍五入会导致该数字的尾随零被去除)
Haskell 中是否有内置库可以做到这一点,还是我必须自己开发?
【问题讨论】:
-
“Haskell 中是否有内置库可以做到这一点,还是我必须自己动手?” 您可能想要编辑它。要求图书馆是题外话。
标签: haskell printf decimal normalization