gpt4 book ai didi

c# - 如何强制 c# binary int 除法返回 double?

转载 作者:太空狗 更新时间:2023-10-29 23:11:31 27 4
gpt4 key购买 nike

如何强制 double x = 3/2;在没有 D 后缀或类型转换的情况下返回 1.5 in x?是否有任何类型的运算符重载可以完成?或者一些编译器选项?

令人惊讶的是,由于以下原因,添加强制转换或后缀并不是那么简单:

业务用户需要编写和调试自己的公式。目前,C# 像 DSL(领域特定语言)一样被使用,因为这些用户不是计算机科学工程师。因此,他们所知道的就是如何编辑和创建一些类型的类来保存他们的“业务规则”,这些规则通常只是数学公式。

但他们总是假设 double x = 3/2;将返回 x = 1.5但是在 C# 中返回 1。

一个。他们总是忘记这一点,浪费时间调试,调用我寻求支持,我们解决它。B. 他们认为这非常丑陋并且损害了他们业务规则的可读性。

如您所知,DSL 需要更像自然语言。

是的。我们正计划迁移到 Boo 并基于它构建 DSL,但这还在路上。

是否有一个简单的解决方案来使 double x = 3/2;通过类外部的某些东西返回 1.5,这样它对用户是不可见的?

谢谢!韦恩

最佳答案

不,没有解决方案可以使 3/2 返回 1.5。

考虑到您的约束的唯一解决方法是阻止用户在公式中使用文字。鼓励他们使用常量。或者,如果他们真的需要使用文字,鼓励他们使用带小数点的文字。

关于c# - 如何强制 c# binary int 除法返回 double?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2485881/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com