1
5
我会采用基于比率的方法,就像
赞成的意见:
欺骗:
|
2
1
首先,是的,我认为你所建议的方式是相当合理的,尽管是否被优先考虑取决于上下文。 这种方法的优势在于,您定义的转换可能不仅仅是简单的乘法(例如摄氏度和华氏度)。 然而,您的方法确实创建了不同的类型,这导致需要创建转换,这可能是好的,也可能是坏的,具体取决于使用情况。 (我很欣赏你的码和米只是一个例子,我也将用它作为一个例子) 如果我正在编写处理长度的代码,(大多数)无论单位是什么,逻辑都是相同的。虽然我可以将包含该逻辑的函数设置为模板,以便它可以采用不同的单元,但仍然有一个合理的用例,其中数据需要来自两个不同的源,并提供给不同的单元。在这种情况下,我宁愿处理一个长度类,而不是每个单位的一个类,这些长度可以保存它们的转换信息,也可以只使用一个固定单元,在输入/输出阶段进行转换。 另一方面,当我们有不同的测量类型时,例如长度、面积、温度。在这些类型之间没有默认转换是一件好事。好的是,我不能不经意地给温度增加一个长度。 (当然,类型的乘法是不同的。) |
3
-2
在我看来,您的方法过于设计,以至于很难发现错误。即使在这一点上,您引入的语法复杂性也使您的转换变得不准确:您是从小数点后第8位开始的。 标准换算为1英寸为25.4mm,这意味着一码正好是0.9144m。 在IEEE754二进制浮点中,这一点及其倒数都不能精确表示。 如果我是你,我会定义
为了避免错误,以老式的方式使用双精度浮点运算。 |
Terio · Typescript:使用变量的值创建自定义类型 1 年前 |
Kareem Adel · 创建函数类型(TypeScript接口) 2 年前 |
MatÄj VondráÄek · 如何在c#方法中传递类型? 2 年前 |
kreo · 为什么&[T]参数也接受&Vec? 6 年前 |
Jiji · 将简单对象强制转换为简单的通用接口 6 年前 |