首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >将字符串转换为int以进行减法

将字符串转换为int以进行减法
EN

Stack Overflow用户
提问于 2014-04-25 17:45:08
回答 1查看 8.3K关注 0票数 1

这是我的密码

代码语言:javascript
运行
复制
$fourCount = 0
$rowCount = 0
foreach($row in $ResultsTable){
  if ($row.'RowType' -eq 6) {
    if ($fourCount -gt 0) {
      #Sort-Object {$row.'CheckDate'} - descending
      $remainAmount = $currentAmount - $checkAmount
      $ResultsTable.Rows[$rowCount - 1].'Final' = $remainAmount
      $currentAmount = @()
      $fourCount = 0
      $remainAmount = 0
    }
    $checkAmount = [int]$row.'amount'
    $rowCount = $rowCount + 1
  } elseif ($row.'RowType' -eq 4) {
    if($row.'current'.Length -eq $NULL) {
      Continue
    } else {
      $currentAmount += [int]$row.'current'
      $rowCount = $rowCount + 1
      $fourCount++
    } 
  } else {
    Continue
  }
}

当我运行代码时,我遇到的问题是

方法调用失败,因为[System.Object[]]不包含一个名为'op_Subtraction‘的方法。 $remainAmount = $currentAmount - <<<< $checkAmount CategoryInfo : InvalidOperation:(op_Subtraction:String)[],RuntimeException FullyQualifiedErrorId : MethodNotFound

根据我所读到的,我正在将所有内容转换为int,但它仍然没有运行。有人能告诉我为什么吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-04-25 17:57:14

在第9行,您将$currentAmount初始化为空数组:

代码语言:javascript
运行
复制
$currentAmount = @()

然后,将int项积累到该数组中:

代码语言:javascript
运行
复制
$currentAmount += [int]$row.'current'

所以你拥有的是一个整数数组。

最后,您尝试使用该数组执行减法操作:

代码语言:javascript
运行
复制
$remainAmount = $currentAmount - $checkAmount

结果失败了。

错误消息中的[Type[]]语法表明它是一个数组,因此不能对其执行减法操作。

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

https://stackoverflow.com/questions/23299708

复制
相关文章

相似问题

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