【发布时间】:2016-12-27 15:33:17
【问题描述】:
例如,在我的编码中,我使用了 VB 函数
Round(1.325, 2)
产生数字 1.33。我想知道是否有一个地方可以查看“Round”函数背后的代码,以便我可以自己制作。
问题原因:
我最近在一次采访中被要求生成一个不使用 .net 库中的 .Reverse 函数的反向函数。我搞定了,但还有其他基本功能需要学习,例如将数字格式化为一定数量的小数位。能够查看 .net 库函数背后的代码将有助于我实现这一目标。
TIA - 提前致谢。
詹姆斯
【问题讨论】:
-
或获取反编译器。有很多免费的
-
问题是
Math.Round调用了参考源中没有的“内部”实现。 -
还要记住,这些面试问题的重点不应该是得到“正确”的答案,而是看看你是如何解决问题的。因此,在没有说明您的思考过程的情况下(或者更糟糕的是没有解释它的工作原理为什么)反刍“正确”代码可能比思考问题并即时解决它们更糟糕。 99% 以上的软件开发都在编写新代码,而不仅仅是重用现有代码。我并不是说你的目标不合适,只是为了争辩说你可能从错误的角度思考这些问题。
-
@DStanley,它不在参考源上,但它在 GitHub 上。 InternalCall 是mapped in
ecalllist.h,Math.Round 在COMDouble::Round中实现。