如何返回小数点后2位的浮点数?

发布于 2024-12-05 05:18:43 字数 142 浏览 2 评论 0原文

我有一些简单的功能

f :: Float -> Float
f x = x

Prelude> f 5.00
5.0

为什么不使用5.00?我怎样才能实现这个目标?

I have some simple function

f :: Float -> Float
f x = x

Prelude> f 5.00
5.0

Why not 5.00? How can I achieve this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

笑饮青盏花 2024-12-12 05:18:43

如果您想要 base 中的某些内容,请使用 showGFloat

 > import Numeric
 > showGFloat (Just 2) 1.99438 ""
 "1.99"
 > :t showGFloat
 showGFloat :: RealFloat a => Maybe Int -> a -> ShowS

If you want something from base then use showGFloat:

 > import Numeric
 > showGFloat (Just 2) 1.99438 ""
 "1.99"
 > :t showGFloat
 showGFloat :: RealFloat a => Maybe Int -> a -> ShowS
空气里的味道 2024-12-12 05:18:43

您可以使用 printf

printf "%.2f" (f :: Float)

You can use printf

printf "%.2f" (f :: Float)
浊酒尽余欢 2024-12-12 05:18:43

从 4.7.0.0 开始,可以使用 showGFloatAlt

其行为与 showFFloat 相同,只是始终保证小数点,即使不需要。

并且旧的 showGFloat 的文档并没有说始终保证小数点。

(但我在我的系统中实际上没有看到任何差异:

$ ghci
GHCi, version 8.6.4: http://www.haskell.org/ghc/  :? for help
Prelude> import Numeric
Prelude Numeric> showGFloat (Just 2) 5.0 ""
"5.00"
Prelude Numeric> showGFloatAlt (Just 2) 5.0 ""
"5.00"
Prelude Numeric> showGFloat Nothing 5.0 ""
"5.0"
Prelude Numeric> showGFloatAlt Nothing 5.0 ""
"5.0"

我想知道为什么......)

Since: 4.7.0.0, one can use showGFloatAlt:

This behaves as showFFloat, except that a decimal point is always guaranteed, even if not needed.

and the documentation for the old showGFloat doesn't say that a decimal point is always guaranteed.

(But I don't see any difference actually in my system:

$ ghci
GHCi, version 8.6.4: http://www.haskell.org/ghc/  :? for help
Prelude> import Numeric
Prelude Numeric> showGFloat (Just 2) 5.0 ""
"5.00"
Prelude Numeric> showGFloatAlt (Just 2) 5.0 ""
"5.00"
Prelude Numeric> showGFloat Nothing 5.0 ""
"5.0"
Prelude Numeric> showGFloatAlt Nothing 5.0 ""
"5.0"

I wonder why...)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文