Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell 为什么.ToString(";000.0000";)会给出一个“找不到重载”错误?_Powershell - Fatal编程技术网

Powershell 为什么.ToString(";000.0000";)会给出一个“找不到重载”错误?

Powershell 为什么.ToString(";000.0000";)会给出一个“找不到重载”错误?,powershell,Powershell,我正在尝试使用.ToString()格式化数字,例如:如果我的字符串后面有4.44,那么数字必须是004.4400。当我单独使用.ToString()时,一切都能完美工作,例如: $B = 4.444 $C = $B.ToString("000.0000") -replace "," , "." 但当我尝试在cycle中使用.ToString()时,一切都出错了,我不知道为什么 这是我的剧本: $path = "C:\Users\georgi\Desktop\5\" Get-ChildIte

我正在尝试使用
.ToString()
格式化数字,例如:如果我的字符串后面有4.44,那么数字必须是004.4400。当我单独使用
.ToString()
时,一切都能完美工作,例如:

$B = 4.444
$C = $B.ToString("000.0000") -replace "," , "." 
但当我尝试在cycle中使用
.ToString()
时,一切都出错了,我不知道为什么

这是我的剧本:

$path = "C:\Users\georgi\Desktop\5\"
Get-ChildItem -Path "C:\Users\georgi\Desktop\5\" -PipelineVariable 'f' |
ForEach-Object{
  $Program_Name = "LH2113814_11111-300"
    $PrepareDate = (Get-Content -Path $f.FullName) | Select -Index 9
     $Date = $PrepareDate.Substring(31,4) + $PrepareDate.Substring(28,2)  + 
$PrepareDate.Substring(25,2) + $PrepareDate.Substring(36,8) 
   $A = (Get-Content -Path $f.FullName) | Select -Index 14
     $B = $A.Substring(43,5)
       $C = $B.ToString("000.0000") -replace ",","."
         $D = (Get-Content -Path $f.FullName) | Select -Index 20
           $E = $D.Substring(37,5)
             $F = "00" + $E + "0"
               $EXPORT = $Program_Name + $Date + $C + $F | Add-Content 
('C:\Users\georgi\Desktop\5\test.dat')
}
错误:

Cannot find an overload for "ToString" and the argument count: "1".
At line:8 char:12
+ $B.ToString("000.0000") -replace ".","," 
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], MethodException
    + FullyQualifiedErrorId : MethodCountCouldNotFindBest

在这些方面:

 $B = $A.Substring(43,5)
   $C = $B.ToString("000.0000") -replace ",","."
$B
属于
字符串类型。该类型的不接受任何参数,这就是它抱怨的原因

根据您发布的内容,我无法判断,但您可能需要先将该字符串转换为
浮点值

 $B = [float]$A.Substring(43,5)
   $C = $B.ToString("000.0000") -replace ",","."
在这些方面:

 $B = $A.Substring(43,5)
   $C = $B.ToString("000.0000") -replace ",","."
$B
属于
字符串类型。该类型的不接受任何参数,这就是它抱怨的原因

根据您发布的内容,我无法判断,但您可能需要先将该字符串转换为
浮点值

 $B = [float]$A.Substring(43,5)
   $C = $B.ToString("000.0000") -replace ",","."

你是否附加了调试器并逐步完成了代码?我没有附加调试器,然后开始这样做。你得到了什么错误?你的缩进非常奇怪,使代码难以阅读。如果您曾经以您希望的方式运行此代码,我强烈建议您访问CodeReview.SE以评估此代码。我懂了。。。问题您是否附加了调试器并逐步完成了代码?我没有附加调试器,然后开始执行该操作。您遇到了什么错误?您的缩进非常奇怪,使代码难以读取。如果您曾经以您希望的方式运行此代码,我强烈建议您访问CodeReview.SE以评估此代码。我懂了。。。非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常非常