我希望能够截断一个float或double类似于Java的方式:(int)5.583例如.
我做了一些研究,据我所知,Prelude中没有任何内容可以导入.所以我想知道如何构建一个能够完成它的函数.我想也许,如果我这样做show 5.583,然后把一个子串到小数点,然后将其转换为a Int,但这似乎只使用递归时非常低效.那么有更简单的方法吗?
我希望能够截断
float或double
令人愉快的是,将小数截断为积分的函数被命名为"truncate".
https://www.stackage.org/haddock/lts-8.4/base-4.9.1.0/Prelude.html#v:truncate
?> truncate 5.583
5
Run Code Online (Sandbox Code Playgroud)
它的类型是
truncate :: (Real a, Fractional a, Integral b) => a -> b
Run Code Online (Sandbox Code Playgroud)
这只是一个普通的功能.Haskell没有任何语言功能(或者kludge,如果你愿意的话)类似于Java中的类型转换.