首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >函数中的除法("/")

函数中的除法("/")
EN

Stack Overflow用户
提问于 2011-10-20 05:22:27
回答 2查看 20K关注 0票数 4

我试图写一个简单的除法函数,但是我得到了一个错误

代码语言:javascript
复制
PS C:\Users\john> Function Div($x, $y) { $x / $y }
PS C:\Users\john> Div (1, 1)
Method invocation failed because [System.Object[]] doesn't contain a method named 'op_Division'.
At line:1 char:28
+ Function Div($x, $y) { $x / <<<<  $y }
    + CategoryInfo          : InvalidOperation: (op_Division:String) [], RuntimeException
    + FullyQualifiedErrorId : MethodNotFound

我的错误是什么?谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-10-20 05:26:24

您调用的函数不正确。函数调用的Powershell语法为:

代码语言:javascript
复制
Div 1 1

而(1,1)是一个Object[]。

如果您想防止类似的用法错误,请将函数声明为:

代码语言:javascript
复制
Function Div([Parameter(Mandatory=$true)][double]$x, [Parameter(Mandatory=$true)][double]$y) { $x / $y }

参数(Mandatory=$true)确保给定两个值。而且,在Powershell中,除法总是执行双除法,即使给定了整数,因此强制使用双精度类型不会停止整数的使用,并将确保输入类型是您所期望的类型。

票数 6
EN

Stack Overflow用户

发布于 2011-10-20 05:28:03

您应该将除法运算符的参数强制转换为函数体中的整数,否则它们将被视为字符串(即使它们看起来像整数),并且字符串不支持/运算符:

[int] $x / [int] $y

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/7828325

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档