相关疑难解决方法(0)

Haskell 中 (^) 的奇怪行为

为什么 GHCi 在下面给出了错误的答案?

温室气体

?> ((-20.24373193905347)^12)^2 - ((-20.24373193905347)^24)
4.503599627370496e15
Run Code Online (Sandbox Code Playgroud)

蟒蛇3

>>> ((-20.24373193905347)**12)**2 - ((-20.24373193905347)**24)
0.0
Run Code Online (Sandbox Code Playgroud)

更新 我将按如下方式实现 Haskell 的 (^) 函数。

powerXY :: Double -> Int -> Double
powerXY x 0 = 1
powerXY x y
    | y < 0 = powerXY (1/x) (-y)
    | otherwise = 
        let z = powerXY x (y `div` 2)
        in  if odd y then z*z*x else z*z

main = do 
    let x = -20.24373193905347
    print $ powerXY (powerXY x 12) 2 - powerXY x …
Run Code Online (Sandbox Code Playgroud)

floating-point haskell ghc ghci

12
推荐指数
1
解决办法
334
查看次数

showFFloat 的 Haskell 第三个参数

我正在寻找某种方法来抑制科学记数法(每个程序员在某些时候都必须处理的斗争),我发现了这个问题:

Haskell - 如何避免十进制输出中的科学记数法

现在,第一个答案使用如下内容:

showFullPrecision x = showFFloat Nothing x ""
Run Code Online (Sandbox Code Playgroud)

这有效,但我无法弄清楚最后一个参数是什么,我不想盲目地使用代码。

的文档showFFloat说它的签名是showFFloat :: RealFloat a => Maybe Int -> a -> ShowS. 接受 aMaybe Int并且很可能是一个浮点数,但是最后一个参数(在我们的例子中是一个空字符串)是怎么回事?

haskell function

2
推荐指数
1
解决办法
236
查看次数

标签 统计

haskell ×2

floating-point ×1

function ×1

ghc ×1

ghci ×1