Haskell-将整数转换为双精度,然后转换为字符串

gbm0102

我正在通过编写将价格转换为美分的程序来练习Haskell。显然,这意味着我的Int需要成为Double,但我希望最终输出为String。我的代码:

首先,我定义了我的Price类型:

type Price = Int

然后,我编写了我的模块:

formatDollars :: Price -> String
formatDollars x = show (fromIntegral (x `div` 100))

我的测试输入为x188,应该给我1.88。

但是我的输出总是"1"这使我认为我的fromIntegral函数可能无法在我的代码中正确使用,就好像它在小数点后被截断了一样。由于我对Haskell非常陌生,因此我敢肯定这是一个简单的错误;有人可以帮我吗?

数学兰花
188 `div` 100 == 1

您想要在进行除法Double 之前转换为(然后执行实数除法,而不是整数除法。)

formatDollars x = show ((fromIntegral x) / 100)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

将字符串转换为整数列表,然后在haskell中求和?

haskell将整数转换为字符串而不显示

尝试在Haskell中将整数转换为字符串

如何将字符串转换为 ASCII,然后再返回到 Haskell?

Haskell:将输入字符串直接转换为列表

Haskell将字符串转换为嵌套列表

无法将字符串转换为整数或双精度

将字符串转换为整数,然后转换回字符串

在Haskell中将数字字符串转换为int

将字符串转换为双精度-失去精度

Haskell:将 Int 转换为长度为 n 的字符串

无法将小型C#“随机字符串”函数转换为Haskell

Haskell函数,按类型应用程序将类型转换为字符串

将大写字母转换为小写并在Haskell中计算字符串

解析应该将列表转换为字符串的函数中的错误 - haskell

不能将字符串转换为浮点数然后转换为整数?

将包含列表的列表转换为列表,然后转换为字符串

如何将字符串转换为位然后转换为int数组-Java

将图像转换为字节然后转换为字符串时出现问题

将字符串转换为Char然后转换为Int

将字符串转换为符号,然后转换为 !! 识别的 quosure 在 tidyverse

将 int 元素转换为 char 然后转换为字符串 Kotlin 错误?

将混合字符串转换为双精度

jsoncpp:将字符串转换为双精度

将字符串用'%'转换为双精度

Java:将双精度型转换为字符串

Flutter 无法将字符串转换为双精度

迅速:将字符串转换为双精度的问题

iOS-将字符串转换为双精度