首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将Ord转换为小数

将Ord转换为小数
EN

Stack Overflow用户
提问于 2019-04-15 04:11:35
回答 1查看 130关注 0票数 0

如何将max函数给出的Ord数转换为小数。或者我如何将一个有2个约束(x::(Ord,小数a ) => a)的数字转换成一个整数?

不要担心RE

代码语言:javascript
复制
seemore :: (Fractional a) => RE b -> a -> a
seemore (a:+:b) x = seemore (a) (x) + seemore b x
seemore (a:|:b) x = max (seemore a y) (seemore b z)
   where y = x
         z = x
seemore (Symbol a) x = x
seemore Empty x = 0
seemore (Repeat(a)) x = 1/0
seemore (Plus(a)) x = 1/0

在"seemore ::(Fractional a)“部分中,我需要将Ord a添加到该约束中,否则它将失败。但是,我遇到了一个小数和顺序的数字,尽管没有函数可以将这个数字转换为整数。理想情况下,我想要一个将顺序转换为小数的函数。

EN

回答 1

Stack Overflow用户

发布于 2019-04-15 05:41:22

理想情况下,我想要一个将顺序转换为小数的函数。

可以排序的东西比分数多得多,例如。"abcd" < "abce",但是什么是"abcd" / "abce"呢?

我遇到了一个小数和顺序的数字,尽管没有函数可以将这个数字转换成

如果您都知道是FractionalOrd,那么如何知道存在合理的-> Integer转换呢?例如,考虑Data.Complex Double (基本上只是一个复数)-我们可以加、减、除偶数(即。这是Fractional),但是作为toInteger (1 + i)的答案,什么在数学上是有意义的?没有一个好的定义。

不清楚您到底想要实现什么,但是,我能想到的最接近的情况是,添加一个RealFrac a约束。这将为您提供所需的功能(例如,truncateroundceilingfloor),用于转换为Integral类型。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55679603

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档