a,b 属于类型long
Math.Round(a/b, (int)2)
以下方法或属性之间的调用不明确:System.Math.Round(double, int)和System.Math.Round(double, System.MidpointRounding)
如何告诉编译器第二个参数是int不是System.MidpointRounding?
编辑 1:出于某种原因,如果我单独运行上面的代码,我会收到错误“ Error CS0121 The call is ambiguous between the following methods or properties: 'Math.Round(double, int)' and 'Math.Round(decimal, int)' ”,但我的原始代码作为长脚本的一部分运行,其中 a、b 是隐式类型的中间变量,并给我上面令人困惑的错误消息。
有两个正确答案:
使用命名参数即Math.Round(a/b, digits: 2)[感谢 colinB 的评论]
强制转换为 double(虽然这从原始错误消息中并不明显)即Math.Round((double)a/b, 2)[感谢 Owen Pauling 的回答]
暮色呼如
GCT1015
HUX布斯
随时随地看视频慕课网APP
相关分类