windows – 将字符串转换为int会导致值更改
发布时间:2020-12-14 04:25:21 所属栏目:Windows 来源:网络整理
导读:我试图在文本文件中读取并更改 Windows 8.1中Powershell中某一行上的数字值.该文件有点可预测. 我目前没有找到这种最好的方法,但我试图找出为什么会发生这种错误.我想在某个位置找到一个数字,然后读取它的整数值. 但是,当我这样做时,我得到了错误的价值. 我
我试图在文本文件中读取并更改
Windows 8.1中Powershell中某一行上的数字值.该文件有点可预测.
我目前没有找到这种最好的方法,但我试图找出为什么会发生这种错误.我想在某个位置找到一个数字,然后读取它的整数值. 但是,当我这样做时,我得到了错误的价值. 我的代码: $data = Get-Content "AssemblyInfo.cs" Write-Output $data[-2] Write-Output $data[-2][30] Write-Output ([int]$data[-2][30]) 当前输出: [assembly: AssemblyVersion("1.2.*")] 2 50 预期产量: [assembly: AssemblyVersion("1.2.*")] 2 2 当作为int进行转换时,为什么值从2变为50? 解决方法
发生这种情况是因为$data [-2]是[String],并且使用括号来获取[String]中的字符不会返回新的[String],它会返回[Char].
[Char]显示为单个字符(如字符串中),但实际上是一个数值.当你将它转换为[int]时,你会看到角色的值,比如@的64. 您可以首先转换为[String],然后转换为[int]以获取单个字符的数字版本,或者使用[int] :: Parse(): [int][String]$data[-2][30] # or [int]::Parse($data[-2][30]) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- Windows上奇怪的码头工作状态
- 如何使用Windows凭据将WCF服务重定向到HTTPS端点
- windows-phone-7 – 不使用pin的Twitter身份验证
- Microsoft Ajax Control Toolkit与jQuery
- 如何在Windows下增加vim(CTRL-A不起作用)
- windows-server-2008 – “其他”ntp文档(HP / Epson打印)
- windows – 如何使用当前文件夹的管理员权限运行PowerShell
- 无人值守安装Windows的二进制python包(模块)
- WIndows Server 2012 R2远程域加入
- windows-phone-7 – mgwt vs. GWT Mobile – 平台兼容性