C# 以下方法或属性之间的调用不明确:“System.Math.Round(double, int)” 和 'System.Math.Round(decimal, int)

发布于 2024-07-17 16:32:40 字数 245 浏览 6 评论 0原文

由于以下错误,我的代码将无法编译:

以下方法或属性之间的调用不明确:'System.Math.Round(double, int)' 和 'System.Math.Round(decimal, int)

我的代码是

Math.Round(new FileInfo(strFilePath).Length / 1024, 1)

我怎样才能解决这个问题?

谢谢

My code won't compile due to the error below:

The call is ambiguous between the following methods or properties: 'System.Math.Round(double, int)' and 'System.Math.Round(decimal, int)

My code is

Math.Round(new FileInfo(strFilePath).Length / 1024, 1)

How can I fix this?

Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

枕花眠 2024-07-24 16:32:40
Math.Round(new FileInfo(strFilePath).Length / 1024d, 1)
Math.Round(new FileInfo(strFilePath).Length / 1024d, 1)
独享拥抱 2024-07-24 16:32:40

问题是您进行整数除法(结果也是 int),并且 int 可以隐式转换为 double>十进制。 因此,您需要确保表达式结果为其中之一; double 可能就是您想要的。

Math.Round(new FileInfo(strFilePath).Length / 1024.0, 1)

The problem is that you make an integer division (results also in an int) and a int can be implicitly converted to both double and decimal. Therefore, you need to make sure the expression results in one of those; double is probably what you want.

Math.Round(new FileInfo(strFilePath).Length / 1024.0, 1)
若言繁花未落 2024-07-24 16:32:40
Math.Round((double) (new FileInfo(strFilePath).Length / 1024), 1)
Math.Round((double) (new FileInfo(strFilePath).Length / 1024), 1)
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文